web-dev-qa-db-ja.com

文字列/テキストとpandasデータフレームをExcelに書き込む

テキストとデータフレームを次のようなExcelファイルに保存したいと思います。 enter image description here

したがって、次の変数があります。

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)

もっと簡単な方法はありますか?

6
John

writeまたはwrite_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")
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()
10
jezrael

上記の解決策は正しいです...しかし

書き込み関数はxlsxwriterライブラリの一部です。ライターを宣言するときは、使用するエンジンpandas)を指定する必要があります。

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

xlsxwriters関数は、パンダを介して使用できます。上記のソリューションの他のすべてのコードは同じままです。

もちろん、ライブラリをインストールする必要があります。 ここ はプログラムによるチェックです。

コメントしますが、低い担当者

1
SonOfLight