翻譯|行業資訊|編輯:吉煒煒|2025-09-08 10:26:46.030|閱讀 61 次
概述:本文將向您展示如何使用 Aspose.Cells 以不同方式將 Pandas DataFrame 導出到 Excel。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
	 
 
開發人員經常需要將 Pandas DataFrame 導出到 Excel。Excel 是共享和查看報告的絕佳工具。使用 Python 和 Pandas 可以輕松實現這一點,但使用 Aspose.Cells for Python 可以為您提供更多控制權。您可以直接將 DataFrame 轉換為 Excel,也可以通過 CSV、JSON 等方式,甚至可以將多個 DataFrame 導出到一個文件中。在本文中,您將逐步學習如何借助Aspose.Cells for Python ,使用四種方法將 Pandas DataFrame 轉換為 Excel。
加入Aspose技術交流QQ群(1041253375),與更多小伙伴一起探討提升開發技能。
Pandas 有一個內置to_excel()函數。它適用于基本導出,但功能有限。Aspose.Cells for Python是面向開發人員的最佳 Python Excel 庫之一,它提供了完整的 Excel 引擎。它允許您以高可靠性將 DataFrames 保存到 Excel。您還可以處理圖表、公式、格式和大文件。
本文將向您展示如何使用 Aspose.Cells 以不同方式將 Pandas DataFrame 導出到 Excel。
在開始之前,請確保已安裝以下軟件:
pip install aspose-cells-python
pip install pandas
這兩個庫將允許您將 Pandas DataFrames 轉換為 Excel 文件。
最常見的任務是將 Pandas DataFrame 直接導出到 Excel。使用 Aspose.Cells,您可以創建工作簿,導入 DataFrame 值,并將其保存為 Excel 文件。
按照以下步驟將 DataFrame 轉換為 Excel:
以下代碼示例顯示如何將 Pandas 直接轉換為 Excel:
import aspose.cells as ac
import pandas as pd
# Step 1: Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)
# Step 2: Create a new workbook
wb = ac.Workbook()
# Step 3: Get the first worksheet
worksheet = wb.worksheets[0]
# Step 4: Get the cells collection
cells = worksheet.cells
# Step 5: Write DataFrame column names to Excel
rowindex = 0
colindex = 0
for column in df:
    cell = cells.get(rowindex, colindex)
    cell.put_value(df[column].name)
    colindex += 1
# Step 6: Write DataFrame rows to 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
# Step 7: Save the DataFrame as Excel
wb.save("direct_df_to_excel.xlsx")
 
使用 Aspose.Cells 直接將 DataFrame 轉換為 Excel。
此代碼將 Pandas DataFrame 保存到 Excel 的指定位置。您可以更改路徑以匹配您的系統。
此方法可讓您完全控制如何將 Pandas DataFrame 數據寫入 Excel。這是使用 Aspose.Cells 將 DF 轉換為 Excel 的最直接方法。
另一個簡單的方法是先將 Pandas DataFrame 保存為 CSV 文件,然后使用 Aspose.Cells 將該 CSV 文件轉換為 Excel 文件。當您的流程已經生成 CSV 輸出,但仍需要一個干凈的 Excel 文件時,這種方法非常有用。
請按照以下步驟通過 CSV 將 DataFrame 轉換為 Excel:
以下代碼示例顯示如何通過 CSV 將 Pandas 轉換為 Excel:
import aspose.cells as ac
import pandas as pd
# Step 1: Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)
# Step 2: Save DataFrame as CSV
df.to_csv("temp.csv", index=False)
# Step 3: Load CSV file with Aspose.Cells
wb = ac.Workbook("temp.csv")
# Step 4: Save as Excel file
wb.save("df_via_csv.xlsx")
此方法首先創建一個 CSV 文件,然后將其轉換為 Excel。即使您的流程已經依賴于 CSV 文件,它也能確保您的 Pandas 到 Excel 的轉換能夠正常進行。
當您想要快速從 CSV 轉換為 Excel 同時保持 Pandas 和 Aspose.Cells 的靈活性時,請使用此方法。
許多 API 都使用 JSON。您也可以將 JSON 傳遞給 Aspose.Cells 來構建 Excel 工作表。此方法首先將 Pandas DataFrame 轉換為 JSON,然后將該 JSON 作為表格加載到 Excel 中。它能讓您的 Pandas 到 Excel 導出數據干凈可靠。當您需要嚴格控制標題和數據類型時,它也非常有用。
請按照以下步驟操作:
以下代碼示例顯示如何通過 JSON 將 Pandas DF 轉換為 Excel:
import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells
# Create a sample pandas DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
        	
df = pd.DataFrame(data)
# Convert pandas DataFrame to JSON
json_string = df.to_json(orient='records')
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the cells
cells = worksheet.cells
options = JsonLayoutOptions()
unit = JsonUtility()
# Processes as table
options.array_as_table = True
# Import JSON data into the worksheet starting at row 0, column 0
unit.import_data(json_string, cells, 0, 0, options)
# Save as Excel file
workbook.save("df_via_json.xlsx")
這orient='records'會生成一個對象列表。每個對象都會將鍵映射到列名。array_as_table=True它會指示 Aspose.Cells 將數組視為帶有標題的正確表格。導入器會將值寫入從 A1 開始的單元格。這會在 Excel 中為您提供可預測的布局。
您可以將多個 Pandas DataFrame 寫入單個 Excel 文件。每個 DataFrame 都會保存到其自己的工作表 (sheet)。此方法可讓您將 Pandas 數據導出到 Excel,方便生成報告和分組表。
請按照以下步驟操作:
以下代碼示例顯示如何將多個 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
    """
    # Create a blank workbook
    workbook = Workbook()
    # Optional: remove the default blank sheet if you do not need it
    # workbook.worksheets.remove_at(0)
    for df, name in zip(dataframes, sheet_names):
        # Add a new worksheet
        worksheet = workbook.worksheets.add(name)
        cells = worksheet.cells
        # Write column headers
        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)
    # Save as Excel file
    workbook.save(output_path, SaveFormat.XLSX)
# Create two DataFrames
df1 = pd.DataFrame({
    "Name": ["Alice", "Bob"],
    "Age": [25, 30]
})
df2 = pd.DataFrame({
    "Product": ["Book", "Pen"],
    "Price": [10.5, 1.99]
})
# Write to Excel
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
 
	
使用 Aspose.Cells 將多個 Pandas DataFrames 導出到 Excel 表。
該函數將每個 DataFrame 與工作表名稱配對。它會在第 0 行寫入標題,并從第 1 行寫入數據。Aspose.Cells 會將值寫入具有強類型屬性的單元格。最終生成的 XLSX 文件將保持表格清晰,方便共享。
您已經學習了使用 Aspose.Cells for Python 將 Pandas DataFrame 導出到 Excel 的多種方法。您可以直接保存 DataFrame,使用 CSV 格式,使用 JSON 格式,或者將多個 DataFrame 寫入一個文件。每種方法都簡單、快速且可靠。如果您正在尋找超越 Pandas 的高級 Excel 功能,Aspose.Cells 是您的理想之選。不妨在您的下一個項目中嘗試一下,從 Pandas 完全控制遷移到 Excel。
————————————————————————————————————————
關于慧都科技:
慧都科技是專注軟件工程、智能制造、石油工程三大行業的數字化解決方案服務商。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技Aspose在中國的官方授權代理商,提供Aspose系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。Aspose是文檔處理領域的優秀產品,幫助企業高效構建文檔處理的應用程序。
下載|體驗更多Aspose產品,請咨詢,或撥打產品熱線:023-68661681
加入Aspose技術交流QQ群(1041253375),與更多小伙伴一起探討提升開發技能。
	
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網