「xlwings range pandas」
といった検索キーワードに気がつきました。
ここでは、pandasのDataFrameを、xlwingsを使ってExcelのワークシートに出力するサンプルをご紹介します。
pandasのDataFrameをxlwingsでExcelへ出力するサンプル
以下のスクリプトを実行してみてください。
import pandas as pd
sample_table = {
'name':['太郎', '次郎', '三郎',],
'score':[100, 200, 300,],
}
df = pd.DataFrame(data=sample_table)
bk = xw.Book()
ws = bk.sheets[0]
ws.range('A6').options(index=False).value = df
ws.range('A11').options(index=False, header=False).value = df
新規Excelブックの先頭シートに、下図のようにDataFrameがいくつかの形式で出力されます。
サンプルスクリプトで行っている処理
サンプルスクリプトで行っている処理は以下のとおりです。
DataFrameの準備
import後に行っている、
sample_table = {
'name':['太郎', '次郎', '三郎',],
'score':[100, 200, 300,],
}
df = pd.DataFrame(data=sample_table)
の部分は、下図のようなpandasのDataFrameを作成しているコードです。
Bookの作成とSheetの代入
DataFrameを用意したら、ブックを新規に作成して、
bk = xw.Book()
先頭のSheetを変数wsに代入しておきます。
ws = bk.sheets[0]
DataFrameの出力
その後先ほどのDataFrameを、いくつかの方法でワークシートに出力しています。
ws.range('A1').options().value = df
ws.range('A6').options(index=False).value = df
ws.range('A11').options(index=False, header=False).value = df
Range.optionsメソッドに引数を何も指定しない場合は、
ws.range('A1').options().value = df
DataFrameがそのままワークシートに出力されます。
Range.optionsメソッドの引数indexにFalseを指定した場合は、
ws.range('A6').options(index=False).value = df
先ほどはA列にあったindexが出力されません。
Range.optionsメソッドの引数headerにもFalseを指定した場合は、
ws.range('A11').options(index=False, header=False).value = df
ヘッダー(列名・フィールド名)も出力されません。
- xlwingsでリストをセルに入力する
- 『Excel VBAユーザーのためのPythonプログラミング入門』発売に
- 拙著で紹介しているBooks/Bookが持つプロパティとメソッドの一覧
- 拙著で紹介しているSheets/Sheetが持つプロパティとメソッドの一覧
- 拙著で紹介しているRangeが持つプロパティとメソッドの一覧
最終更新日時:2023-10-13 11:48
Home » Python » xlwingsの使い方 » pandasのDataFrameをxlwingsを使ってExcelへ