將 Pandas DataFrame 匯出到 Excel 檔案

Samreena Aslam 2023年1月30日 2022年5月16日
  1. 使用 to_excel() 函式將 Pandas DataFrame 匯出到 Excel 檔案中
  2. 使用 ExcelWriter() 方法匯出 Pandas DataFrame
  3. 將多個 Pandas dataframes 匯出到多個 Excel 表格中
將 Pandas DataFrame 匯出到 Excel 檔案

我們將在本教程中演示如何使用兩種不同的方式將 Pandas DataFrame 匯出到 excel 檔案。第一種方法是通過使用檔名呼叫 to_excel() 函式,將 Pandas DataFrame 匯出到 excel 檔案。本文中討論的另一種方法是 ExcelWriter() 方法。此方法將物件寫入 Excel 工作表,然後使用 to_excel 函式將它們匯出到 Excel 檔案中。

在本指南中,我們還將討論如何使用 ExcelWriter() 方法將多個 Pandas dataframes 新增到多個 Excel 工作表中。此外,我們在我們的系統上執行了多個示例來詳細解釋每種方法。

使用 to_excel() 函式將 Pandas DataFrame 匯出到 Excel 檔案中

當我們使用 dataframe.to_excel() 函式將 pandas DataFrame 匯出到 excel 表時,它會直接將一個物件寫入 excel 表中。要實現此方法,請建立一個 DataFrame,然後指定 excel 檔案的名稱。現在,通過使用 dataframe.to_excel() 函式,將 Pandas DataFrame 匯出到 excel 檔案中。

在以下示例中,我們建立了一個名為 sales_recordDataFrame,其中包含 Products_IDProduct_NamesProduct_PricesProduct_Sales 列。之後,我們為 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 DataFrame 匯出到 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 DataFrame 匯出到 excel 檔案中

將多個 Pandas dataframes 匯出到多個 Excel 表格中

在上述方法中,我們將單個 Pandas DataFrame 匯出到 Excel 表格中。但是,使用這種方法,我們可以將多個 Pandas dataframes 匯出到多個 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 DataFrame 匯出到多個工作表中

相關文章 - Pandas DataFrame