Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Pandas入門】DataFrameをExcelファイルの複数シートに保存する方法

PandasのDataFrameを1つのExcelファイル内の複数シートに保存したい場合は、pd.ExcelWriter()メソッドを利用します。このメソッドはコンテキストマネージャとして使うことで、複数のDataFrameをそれぞれ別のシート名で書き込むことができます。

なお、ExcelWriter()を使用する前に、依存ライブラリであるopenpyxlがインストールされていることを確認してください。未インストールの場合は、以下のコマンドでインストールできます。

pip install openpyxl

手順

  • 二次元・サイズ変更可能な表形式データであるDataFrame df1 を作成します。
  • 入力用のDataFrame df1 の内容を出力して確認します。
  • 同様にもう一つのDataFrame df2 を作成し、内容を出力します。
  • ExcelWriter()メソッドを使い、各DataFrameを指定したシート名でExcelファイルに書き込みます。

コード例

import pandas as pd

df1 = pd.DataFrame(
   [[5, 2], [4, 1]],
   index=["One", "Two"],
   columns=["Rank", "Subjects"]
)

df2 = pd.DataFrame(
   [[15, 21], [41, 11]],
   index=["One", "Two"],
   columns=["Rank", "Subjects"]
)

print("DataFrame 1:\n", df1)
print("DataFrame 2:\n", df2)

with pd.ExcelWriter('output.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Sheet_name_1')
    df2.to_excel(writer, sheet_name='Sheet_name_2')

実行結果

DataFrame 1:

      Rank  Subjects
One      5         2
Two      4         1

DataFrame 2:

      Rank  Subjects
One     15        21
Two     41        11

解説

このスクリプトを実行すると、プロジェクトディレクトリに「output.xlsx」というExcelファイルが新規作成され、df1の値が「Sheet_name_1」、df2の値が「Sheet_name_2」という2つの異なるシートにそれぞれ保存されます。

with文を使ってExcelWriterを開くことで、ブロックを抜けた時点でファイルが自動的に保存・クローズされるため、書き忘れによるデータ消失を防げるのがポイントです。3つ以上のDataFrameを扱いたい場合も、同じようにto_excel()に異なるsheet_nameを指定して追記していくだけで対応できます。

  1. 【Excel VBA】シートを行単位で複数のシートに自動分割する方法

    計算や管理をしやすくするために、1枚のExcelシートを行を基準に複数のシートへ分割したい場面は少なくありません。本記事では、Microsoft Excel VBAのコードを使って、シートを指定した行数ごとに自動的に分割する方法を、具体例とともにわかりやすく解説します。 練習用ワークブック 以下のワークブックをダウンロードして、実際に手を動かしながら練習してみましょう。 VBAでExcelシートを行ごとに複数のシートへ分割する VBA(Visual Basic for Applications)は、Microsoft Excelで最も広く使われているプログラミング言語のひとつです。ユーザー定義

  2. Excelで複数のワークシートを1つのワークブックに結合する4つの方法

    Microsoft Excelで作業を行う際、複数のワークシートを1つにまとめることで、類似したデータを単一のワークブックに統合でき、データ管理が格段にしやすくなります。結合とは、複数のドキュメントを1つのファイルにまとめる操作のことです。本記事では、Excelで複数のワークシートを1つのワークブックに結合するさまざまな方法をご紹介します。 練習用にワークブックをダウンロードして、実際に手を動かしながら学ぶこともできます。 Excelで複数のワークシートを1つのワークブックに結合する4つの方法 すべてのデータを1つのワークブックに集めたり、複数のワークシートのデータを整理したりしたい場合は、以