開発者はしばしば 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 にエクスポートする方法を示します。

始める前に、以下がインストールされていることを確認してください:

  1. Download Aspose.Cells for Python をリリースからダウンロードするか、pipを使用してインストールしてください:
pip install aspose-cells-python
  1. Pandas – pipでインストール:
pip install pandas

これらの2つのライブラリを使用すると、Pandas DataFrameをExcelファイルに変換できます。

メソッド 1: Aspose.Cells を使用して DataFrame を直接 Excel に変換する

最も一般的なタスクは、Pandas DataFrameをExcelに直接エクスポートすることです。Aspose.Cellsを使用すると、ワークブックを作成し、DataFrameの値をインポートし、Excelファイルとして保存できます。

以下の手順に従って、DataFrameをExcelに変換します:

  1. Build a sample dataset.
  2. 空のExcelワークブックを初期化します。
  3. ワークブックの最初のシートにアクセスします。
  4. ExcelのセルにDataFrameの列名を挿入します。
  5. データフレームの各行をループ処理し、セルに値を入れます。
  6. 最終的なワークブックを 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 を使用して DataFrame を直接 Excel に変換する

データフレームを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に変換するには、以下の手順に従ってください:

  1. Build sample data.
  2. Pandasのtocsv()メソッドを使用してDataFrameをCSVとして保存します。
  3. CSVをワークブックとして開きます。
  4. .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へのエクスポートがクリーンで信頼性のあるものになります。また、ヘッダーやデータ型を厳密に制御したい場合にも役立ちます。

以下の手順に従ってください:

  1. デモのためのサンプルデータを作成します。
  2. df.tojson(orient='records')を呼び出して変換します。
  3. Workbook() クラスのオブジェクトを初期化し、最初のワークシートを取得します。
  4. arrayastableを有効にして、適切な表形式のインポートを行います。
  5. JsonUtility.importdata() メソッドを呼び出して、JSON をワークシートのセルにインポートします。
  6. .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:

  1. データフレームを複数のシートに書き込む関数を作成します。
  2. 新しいワークブックを初期化します。
  3. sheetnamesから名前を付けて、それぞれのDataFrameのためにシートを追加します。
  4. 最初の行に列名を入れてください。
  5. DataFrameのタプルをループし、セルの値を書き込みます。
  6. 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"
)
複数のPandas DataFrameをAspose.Cellsを使用してExcelシートにエクスポートする

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 を訪れてください。喜んでお手伝いします。

See Also