将字符串/文本和 pandas 数据框写入 excel

新手上路,请多包涵

我想将一些文本和数据框保存到这样的 excel 文件中: 在此处输入图像描述

因此,我有以下变量:

 text1 = "some text here"
text2 = "other text here"
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [6,7,8,9,10], "c": [11,12,13,14,15]})

正如我发现的那样,可以使用 xlsxwriter 来执行此操作,这意味着我基本上必须遍历整个数据帧以将每个条目写入 excel 工作簿中的不同单元格。这是相当麻烦的。

所以,我认为必须有一种更简单的方法来做到这一点;是这样的:

 writer = pd.ExcelWriter("test.xlsx", engine="xlsxwriter")
writer.write(text1, startrow=0, startcol=0)
writer.write(text1, startrow=1, startcol=0)
df.to_excel(writer, startrow=4, startcol=0)

有更容易的方法吗?

原文由 John 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 851
2 个回答

您需要 writewrite_string

 text1 = "some text here"
text2 = "other text here"
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [6,7,8,9,10], "c": [11,12,13,14,15]})

writer = pd.ExcelWriter("test.xlsx", engine="xlsxwriter")
df.to_excel(writer, startrow=4, startcol=0)

worksheet = writer.sheets['Sheet1']
worksheet.write(0, 0, text1)
worksheet.write(1, 0, text2)
#another solution
#worksheet.write_string(0, 0, text1)
#worksheet.write_string(1, 0, text2)

writer.save()

注意: writewrite_string 实际上是 xlsxwriter 包函数。要使用它们,必须安装软件包并且必须使用 pd.ExcelWriter 引擎初始化 xlsxwriter 引擎(在 pandas 1.0.5 中它默认为 io.excel..writer 引擎)

原文由 jezrael 发布,翻译遵循 CC BY-SA 4.0 许可协议

以上解决方案是正确的……但是

write 函数是 xlsxwriter 库的一部分。在声明编写器时,您需要指明您希望 pandas 使用的引擎。

 writer = pd.ExcelWriter("test.xlsx", engine="xlsxwriter")

然后可以通过 pandas 使用 xlsxwriters 函数。上述解决方案中的所有其他代码保持不变。

当然,您需要安装该库。 是一个程序检查。

会评论但代表低

原文由 SonOfLight 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题