シート別にデータを保存したエクセルファイルの作成方法について
(本ページにて紹介しているコードはgithubにて公開しています。)
DataAnalOji.hatena.sample/python_samples/blog_save_excel_sheets.ipynb at master · Data-Anal-Ojisan/DataAnalOji.hatena.sample
samples for my own blog. Contribute to Data-Anal-Ojisan/DataAnalOji.hatena.sample development by creating an account on GitHub.
openpyxlのインストール
Excel操作のための「openpyml」パッケージを仮想環境にインストールしておく。
$ pip install openpyxl
以下データをシート別に保存するための処理
パッケージのインポート
# エクセル処理
import openpyxl
# 数値処理
import numpy as np
import pandas as pd
# サンプルデータ
from sklearn.datasets import load_boston, load_breast_cancer
サンプルデータの読み込み
# インスタンスの生成
boston = load_boston()
cancer = load_breast_cancer()
# データフレームの作成
df_boston = pd.DataFrame(boston.data, columns=boston.feature_names)
df_cancer = pd.DataFrame(cancer.data, columns=cancer.feature_names)
シートごとにデータをエクセルファイルに書き込み
# 空のワークブックを作成
workbook = openpyxl.Workbook()
# ワークブックをエクセルファイルとして保存
workbook.save('sample.xlsx')
# 作成したエクセルファイに対してExcelWriterを利用して書き込み
with pd.ExcelWriter('sample.xlsx') as writer:
df_boston.to_excel(writer, sheet_name='boston')
df_cancer.to_excel(writer, sheet_name='cancer')
補足:forループ内でシート別に書き込む場合
writer = pd.ExcelWriter('sample.xlsx')
for i, data in enumerate([boston, cancer], 0):
# データフレームの作成
df = pd.DataFrame(data.data, columns=data.feature_names)
# シート別にデータフレームを書込み
df.to_excel(writer, sheet_name='sheet_'+str(i))
# エクセルファイルを保存
writer.save()
コメント