「pandas エクセル セル 書き込み xlwings」
とい検索キーワードでアクセスがありました。
pandasのDataFrameを、xlwingsを使ってExcelに書き込みを行うには、どのようなコードを書けばいいのかを調べていた方による検索でしょうか。
「xlwings range pandas」
という検索も、同じかもしれません。
DataFrameをxlwingsでExcelに書き込むサンプル
xlwingsのview()関数を使えば、とてもシンプルなコードでpandasのDataFrameを簡単にExcelに出力できます。
import xlwings as xw
sample_data = {
'Id':[1001, 1002, 1003, 1004],
'名前':['太郎', '次郎', '三郎', '四郎'],
}
df = pd.DataFrame(data=sample_data)
上記のコードをJupyter等で実行すると、新規ブックが自動的に作成され下図のように
DataFrameが出力されます。
下図のようなDataFrameが、そのままExcelに出力され、Excelのテーブルになっています。
一旦Excelファイルを出力するといった手間もなく、とても簡単にDataFrameをExcelで確認できるわけです。
xlwings.view()はいきなり呼べる
view()関数の実体は、xlwingsパッケージのmain.pyモジュールに以下のように定義されていますが、
def view(obj, sheet=None, table=True, chunksize=5000):
if sheet is None:
sheet = Book().sheets.active
else:
sheet.clear()app = sheet.book.app
try:
app.activate(steal_focus=True)
screen_updating_original_state = app.screen_updating
sheet.book.app.screen_updating = False
if pd and isinstance(obj, pd.DataFrame):
if table:
sheet['A1'].options(assign_empty_index_names=True, chunksize=chunksize).value = obj
sheet.tables.add(sheet['A1'].expand())
else:
sheet['A1'].options(assign_empty_index_names=False, chunksize=chunksize).value = obj
else:
sheet['A1'].value = obj
sheet.autofit()
except:
raise
finally:
sheet.book.app.screen_updating = screen_updating_original_state
xlwingsパッケージ直下の__init__.pyに
from .main import App, Book, Range, Chart, Sheet, Picture, Shape, Name, view, load, RangeRows, RangeColumns
とimport文が書かれているため、先ほどのサンプルのようにいきなり
xw.view(df)
と呼び出すことができます。
最終更新日時:2023-03-09 14:25
Home » Python » pandasの使い方 » pandasのDataFrameをxlwingsでExcelに書き込みする-xw.view()