Pandas データフレームを Excel ファイルにエクスポートする

Samreena Aslam 2023年1月30日
  1. to_excel() 関数を使用して、Pandas の DataFrame を Excel ファイルにエクスポートする
  2. ExcelWriter() メソッドを使用して Pandas の DataFrame をエクスポートする
  3. 複数の Pandas DataFrame を複数の Excel シートにエクスポート
Pandas データフレームを Excel ファイルにエクスポートする

このチュートリアルでは、2つの異なる方法を使用して Pandas の DataFrame を Excel ファイルにエクスポートする方法を示します。最初の方法は、ファイル名を指定して to_excel() 関数を呼び出して、Pandas の DataFrame を Excel ファイルにエクスポートすることです。この記事で説明するもう 1つのメソッドは、ExcelWriter() メソッドです。このメソッドは、オブジェクトを Excel シートに書き込み、to_excel 関数を使用してそれらを Excel ファイルにエクスポートします。

このガイドでは、ExcelWriter() メソッドを使用して複数の Pandas DataFrame を複数の Excel シートに追加する方法についても説明します。さらに、各方法を詳細に説明するために、システムで複数の例を実行しました。

to_excel() 関数を使用して、Pandas の DataFrame を Excel ファイルにエクスポートする

dataframe.to_excel() 関数を使用して Pandas の DataFrame を Excel シートにエクスポートすると、オブジェクトが Excel シートに直接書き込まれます。このメソッドを実装するには、DataFrame を作成してから、Excel ファイルの名前を指定します。ここで、dataframe.to_excel() 関数を使用して、Pandas の DataFrame を Excel ファイルにエクスポートします。

次の例では、Products_IDProduct_NamesProduct_PricesProduct_Sales 列を含む sales_record という名前の DataFrame を作成しました。その後、Excel ファイル ProductSales_sheet.xlsx の名前を指定しました。sales_record.to_excel() メソッドを使用して、すべてのデータを Excel シートに保存しました。

以下のサンプルコードを参照してください。

import pandas as pd

# DataFrame Creation
sales_record = pd.DataFrame(
    {
        "Products_ID": {
            0: 101,
            1: 102,
            2: 103,
            3: 104,
            4: 105,
            5: 106,
            6: 107,
            7: 108,
            8: 109,
        },
        "Product_Names": {
            0: "Mosuse",
            1: "Keyboard",
            2: "Headphones",
            3: "CPU",
            4: "Flash Drives",
            5: "Tablets",
            6: "Android Box",
            7: "LCD",
            8: "OTG Cables",
        },
        "Product_Prices": {
            0: 700,
            1: 800,
            2: 200,
            3: 2000,
            4: 100,
            5: 1500,
            6: 1800,
            7: 1300,
            8: 90,
        },
        "Product_Sales": {0: 5, 1: 13, 2: 50, 3: 4, 4: 100, 5: 50, 6: 6, 7: 1, 8: 50},
    }
)

# Specify the name of the excel file
file_name = "ProductSales_sheet.xlsx"

# saving the excelsheet
sales_record.to_excel(file_name)
print("Sales record successfully exported into Excel File")

出力:

Sales record successfully exported into Excel File

上記のソースを実行すると、Excel ファイル ProductSales_sheet.xlsx が現在実行中のプロジェクトのフォルダーに保存されます。

to_excel 関数を使用して Pandas データフレームを Excel ファイルにエクスポートする

ExcelWriter() メソッドを使用して Pandas の DataFrame をエクスポートする

Excelwrite() メソッドは、Pandas の DataFrame を Excel ファイルにエクスポートする場合にも役立ちます。まず、Excewriter() メソッドを使用してオブジェクトを Excel シートに書き込み、次に dataframe.to_excel() 関数を使用して DataFrame を Excel ファイルにエクスポートできます。

以下のサンプルコードを参照してください。

import pandas as pd

students_data = pd.DataFrame(
    {
        "Student": ["Samreena", "Ali", "Sara", "Amna", "Eva"],
        "marks": [800, 830, 740, 910, 1090],
        "Grades": ["B+", "B+", "B", "A", "A+"],
    }
)

# writing to Excel
student_result = pd.ExcelWriter("StudentResult.xlsx")

# write students data to excel
students_data.to_excel(student_result)

# save the students result excel
student_result.save()
print("Students data is successfully written into Excel File")

出力:

Students data is successfully written into Excel File

ExcelWriter 関数を使用して Pandas データフレームを Excel ファイルにエクスポートする

複数の Pandas DataFrame を複数の Excel シートにエクスポート

上記の方法では、単一の Pandas DataFrame を Excel シートにエクスポートしました。ただし、この方法を使用すると、複数の Pandas DataFrame を複数の Excel シートにエクスポートできます。

複数の DataFrame を別々に複数の Excel シートにエクスポートした次の例を参照してください。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating records or dataset using dictionary
Science_subject = {
    "Name": ["Ali", "Umar", "Mirha", "Asif", "Samreena"],
    "Roll no": ["101", "102", "103", "104", "105"],
    "science": ["88", "60", "66", "94", "40"],
}

Computer_subject = {
    "Name": ["Ali", "Umar", "Mirha", "Asif", "Samreena"],
    "Roll no": ["101", "102", "103", "104", "105"],
    "computer_science": ["73", "63", "50", "95", "73"],
}

Art_subject = {
    "Name": ["Ali", "Umar", "Mirha", "Asif", "Samreena"],
    "Roll no": ["101", "102", "103", "104", "105"],
    "fine_arts": ["95", "63", "50", "60", "93"],
}

# Dictionary to Dataframe conversion
dataframe1 = pd.DataFrame(Science_subject)
dataframe2 = pd.DataFrame(Computer_subject)
dataframe3 = pd.DataFrame(Art_subject)

with pd.ExcelWriter("studentsresult.xlsx", engine="xlsxwriter") as writer:
    dataframe1.to_excel(writer, sheet_name="Science")
    dataframe2.to_excel(writer, sheet_name="Computer")
    dataframe3.to_excel(writer, sheet_name="Arts")

print("Please check out subject-wise studentsresult.xlsx file.")

出力:

Please check out subject-wise studentsresult.xlsx file.

複数の Pandas のデータフレームを複数のシートにエクスポートする

関連記事 - Pandas DataFrame