时间:2025-09-08 11:10
人气:
作者:admin

开发人员经常需要将 Pandas DataFrame 导出到 Excel。Excel 是共享和查看报告的绝佳工具。使用 Python 和 Pandas 可以轻松实现这一点,但使用 Aspose.Cells for Python 可以为您提供更多控制权。您可以直接将 DataFrame 转换为 Excel,也可以通过 CSV、JSON 等方式,甚至可以将多个 DataFrame 导出到一个文件中。在本文中,您将逐步学习如何借助Aspose.Cells for Python ,使用四种方法将 Pandas DataFrame 转换为 Excel。
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入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
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
这两个库将允许您将 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.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
Microsoft Agent Framework Skills 执行 Scripts(实
EF Core 原生 SQL 实战:FromSql、SqlQuery 与对