開発者はしばしば Pandas DataFrame を Excel にエクスポートする必要があります。Excel はレポートを共有し、レビューするための優れたツールです。Python と Pandas を使うことでこれは簡単になりますが、Aspose.Cells for Python を使用すると、もっと制御が効きます。DataFrame を Excel に直接変換したり、CSV を介したり、JSON 経由で変換したり、複数の DataFrame を 1 つのファイルにエクスポートしたりすることができます。この記事では、Pandas DataFrame を Excel に変換する方法を 4 つの方法でステップバイステップで学びます。
Aspose.Cells for Pandas to Excelを使用する理由
Pandas には組み込みの toexcel()
関数があります。これは基本的なエクスポートには機能しますが、機能には限りがあります。 Aspose.Cells for Python は、開発者向けの 最高の Python Excel ライブラリ の1つで、完全な Excel エンジンを提供します。これにより、DataFrame を高い信頼性で Excel に保存できます。また、チャート、数式、書式設定、大きなファイルとも連携できます。
この記事では、さまざまな方法で Aspose.Cells を使用して Pandas DataFrame を Excel にエクスポートする方法を示します。
始める前に、以下がインストールされていることを確認してください:
- Download Aspose.Cells for Python をリリースからダウンロードするか、pipを使用してインストールしてください:
pip install aspose-cells-python
- Pandas – pipでインストール:
pip install pandas
これらの2つのライブラリを使用すると、Pandas DataFrameをExcelファイルに変換できます。
メソッド 1: Aspose.Cells を使用して DataFrame を直接 Excel に変換する
最も一般的なタスクは、Pandas DataFrameをExcelに直接エクスポートすることです。Aspose.Cellsを使用すると、ワークブックを作成し、DataFrameの値をインポートし、Excelファイルとして保存できます。
以下の手順に従って、DataFrameをExcelに変換します:
- Build a sample dataset.
- 空のExcelワークブックを初期化します。
- ワークブックの最初のシートにアクセスします。
- ExcelのセルにDataFrameの列名を挿入します。
- データフレームの各行をループ処理し、セルに値を入れます。
- 最終的なワークブックを Excel ファイルにエクスポートします。
次のコード例では、PandasをExcelに直接変換する方法を示します。
import aspose.cells as ac
import pandas as pd
# ステップ 1: サンプル DataFrame を作成します
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)
# ステップ 2: 新しいワークブックを作成する
wb = ac.Workbook()
# ステップ 3: 最初のワークシートを取得する
worksheet = wb.worksheets[0]
# ステップ 4: セルのコレクションを取得する
cells = worksheet.cells
# ステップ5: DataFrameの列名をExcelに書き込む
rowindex = 0
colindex = 0
for column in df:
cell = cells.get(rowindex, colindex)
cell.put_value(df[column].name)
colindex += 1
# ステップ 6: DataFrame 行を Excel に書き込む
for index, row in df.iterrows():
rowindex += 1
colindex = 0
cell = cells.get(rowindex, colindex)
cell.put_value(row["name"])
colindex += 1
cell = cells.get(rowindex, colindex)
cell.put_value(row["age"])
colindex += 1
cell = cells.get(rowindex, colindex)
cell.put_value(row["city"])
colindex += 1
# ステップ 7: DataFrameをExcelとして保存する
wb.save("direct_df_to_excel.xlsx")

データフレームをAspose.Cellsを使って直接Excelに変換します。
このコードは、指定された場所にPandas DataFrameをExcelに保存します。システムに合わせてパスを変更できます。
このメソッドは、Pandas DataFrame のデータが Excel にどのように書き込まれるかを完全に制御します。これは、Aspose.Cells を使用して DF を Excel に変換する最も直接的な方法です。
メソッド 2: CSVを介してDataFrameをExcelに変換する
もう一つの簡単な方法は、最初に Pandas DataFrame を CSV として保存し、その後その CSV ファイルを Aspose.Cells を使用して Excel に変換することです。これは、あなたのプロセスがすでに CSV 出力を生成し、なおかつクリーンな Excel ファイルが必要な場合に便利です。
データフレームをCSV経由でExcelに変換するには、以下の手順に従ってください:
- Build sample data.
- Pandasの
tocsv()
メソッドを使用してDataFrameをCSVとして保存します。 - CSVをワークブックとして開きます。
.xlsx
ファイルにワークブックをエクスポートします。
次のコード例は、CSVを介してPandasをExcelに変換する方法を示しています:
import aspose.cells as ac
import pandas as pd
# ステップ 1: サンプル DataFrame を作成する
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)
# ステップ2:データフレームをCSVとして保存
df.to_csv("temp.csv", index=False)
# ステップ 3: Aspose.Cells で CSV ファイルを読み込む
wb = ac.Workbook("temp.csv")
# ステップ 4: Excel ファイルとして保存
wb.save("df_via_csv.xlsx")
このアプローチはまずCSVファイルを作成し、それをExcelに変換します。これにより、パイプラインがすでにCSVファイルに依存している場合でも、PandasからExcelへの変換が機能することを保証します。
この方法を使用すると、CSVからExcelに素早く移動しながら、PandasとAspose.Cellsの柔軟性を保持できます。
メソッド 3: DataFrameをJSON経由でExcelに変換する
多くのAPIはJSONを使用します。JSONをAspose.Cellsに渡してExcelシートを構築することもできます。このメソッドはPandas DataFrameを最初にJSONに変換し、その後そのJSONをExcelにテーブルとして読み込みます。これにより、PandasからExcelへのエクスポートがクリーンで信頼性のあるものになります。また、ヘッダーやデータ型を厳密に制御したい場合にも役立ちます。
以下の手順に従ってください:
- デモのためのサンプルデータを作成します。
df.tojson(orient='records')
を呼び出して変換します。Workbook()
クラスのオブジェクトを初期化し、最初のワークシートを取得します。arrayastable
を有効にして、適切な表形式のインポートを行います。JsonUtility.importdata()
メソッドを呼び出して、JSON をワークシートのセルにインポートします。.xlsx
に最終ファイルを書き込みます。
次のコード例は、Pandas DFをJSON経由でExcelに変換する方法を示しています:
import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells
# サンプルのpandas DataFrameを作成します。
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
# pandas DataFrameをJSONに変換する
json_string = df.to_json(orient='records')
workbook = Workbook()
# 最初のワークシートを取得する
worksheet = workbook.worksheets[0]
# セルを取得してください。
cells = worksheet.cells
options = JsonLayoutOptions()
unit = JsonUtility()
# プロセスを表として
options.array_as_table = True
# ワークシートの行0、列0からJSONデータをインポートします。
unit.import_data(json_string, cells, 0, 0, options)
# Excelファイルとして保存
workbook.save("df_via_json.xlsx")
orient='records'
はオブジェクトのリストを生成します。各オブジェクトはキーを列名にマッピングします。 arrayastable=True
はAspose.Cellsに配列をヘッダー付きの適切なテーブルとして扱うよう指示します。インポータはA1からセルに値を書き込みます。これにより、Excelで予測可能なレイアウトが得られます。
方法 4: 複数のデータフレームを Excel シートにエクスポートする
1 つの Excel ファイルに複数の Pandas DataFrame を書き込むことができます。各 DataFrame は独自のシートに配置されます。このメソッドは、レポートやグループ化されたテーブルのためにクリーンな pandas から Excel へのエクスポートを提供します。
Please follow the step below:
- データフレームを複数のシートに書き込む関数を作成します。
- 新しいワークブックを初期化します。
sheetnames
から名前を付けて、それぞれのDataFrameのためにシートを追加します。- 最初の行に列名を入れてください。
- DataFrameのタプルをループし、セルの値を書き込みます。
workbook.save()
メソッドを使用して XLSX としてエクスポートします。
以下のコード例は、複数のPandas DataFrameをExcelシートにエクスポートする方法を示しています:
import pandas as pd
from aspose.cells import Workbook, WorksheetCollection, SaveFormat
def write_multiple_dataframes_to_excel(dataframes, sheet_names, output_path):
"""
Write multiple DataFrames to multiple sheets in an Excel file
:param dataframes: List of pandas.DataFrame
:param sheet_names: List of sheet names (same length as dataframes)
:param output_path: Output Excel file path
"""
# 空のワークブックを作成する
workbook = Workbook()
# オプション: 必要ない場合はデフォルトの空白シートを削除してください。
# workbook.worksheets.removeat(0)
for df, name in zip(dataframes, sheet_names):
# 新しいワークシートを追加する
worksheet = workbook.worksheets.add(name)
cells = worksheet.cells
# 列ヘッダーを書いてください
for col_idx, col_name in enumerate(df.columns):
cells.get(0, col_idx).put_value(str(col_name))
# Write row data
for row_idx, row in enumerate(df.itertuples(index=False), start=1):
for col_idx, value in enumerate(row):
cells.get(row_idx, col_idx).put_value(value)
# Excelファイルとして保存
workbook.save(output_path, SaveFormat.XLSX)
# 二つのDataFrameを作成します。
df1 = pd.DataFrame({
"Name": ["Alice", "Bob"],
"Age": [25, 30]
})
df2 = pd.DataFrame({
"Product": ["Book", "Pen"],
"Price": [10.5, 1.99]
})
# Excelに書き込む
write_multiple_dataframes_to_excel(
dataframes=[df1, df2],
sheet_names=["People", "Products"],
output_path="MultiDataFrame.xlsx"
)

Aspose.Cellsを使って複数のPandas DataFrameをExcelシートにエクスポートする。
その関数は各 DataFrame をシート名にペアリングします。行 0 にヘッダーを書き込み、行 1 からデータを記入します。Aspose.Cells は強い型付けでセルに値を書き込みます。最終的な XLSX ファイルは、あなたのテーブルを明確に保ち、共有の準備が整います。
無料ライセンスを取得する
Aspose.Cells for Python via .NETを制限なしで評価してください。 license page から無料の一時ライセンスをリクエストします。それをコードに適用して評価制限を解除してください。DFからExcel、チャート、数式、大きなファイルを含むすべての機能をテストします。
PD to Excel: 無料リソース
これらのリソースを使用して、知識を深め、理解を向上させてください。
結論
あなたは、Aspose.Cells for Pythonを使用してPandas DataFrameをExcelにエクスポートするさまざまな方法を学びました。DataFrameを直接保存したり、CSVを使用したり、JSONを使用したり、複数のDataFrameを1つのファイルに書き込んだりすることができます。各方法はシンプルで、迅速かつ信頼性があります。Pandasを超えた高度なExcel機能を探しているなら、Aspose.Cellsが正しい選択です。次のプロジェクトで試して、PandasからExcelへ完全にコントロールを持って移行してください。
質問がある場合は、私たちの free support forum を訪れてください。喜んでお手伝いします。