Excel 文件仍然是管理结构化数据的最流行格式之一。在 Python 中,pandas DataFrame 是组织和高效分析该数据的首选结构。一旦转换为 DataFrame,Excel 数据就可以与数据库、API 或机器学习模型无缝结合,以进行更深入的分析和洞察。在本文中,我们将探索将 Excel 转换为 pandas DataFrames 的实用方法,并提供清晰的示例以帮助您入门。
什么是 Pandas DataFrame?
DataFrame 是由 pandas 库提供的 2D 数据结构。它看起来类似于带有行和列的 Excel 电子表格。每一列可以保存不同的数据类型,例如字符串、整数或浮点数。
DataFrames 是理想的用于:
- 导入和清理数据。
- 执行数学运算。
- 过滤、分组和汇总数据。
- 将结果导出为 Excel、CSV 或数据库。
当您将 Excel 文件转换为 DataFrame 时,您可以立即应用强大的 pandas 操作进行分析。
将 Excel 转换为 Pandas DataFrame 的 Python 库
Aspose.Cells for Python via .NET 常被认为是 最佳 Python Excel 库 ,适合需要超过基本电子表格处理的开发人员。它允许您以编程方式创建、读取、编辑和转换 Excel 文件,而无需安装 Microsoft Excel。
对于 DataFrame 转换,这个库表现出色,因为它完全支持高级 Excel 功能,如公式、合并单元格、图表、数据透视表和条件格式化。它支持多种格式,包括 XLS、XLSX、XLSB、ODS、CSV 和 JSON。
当您使用 Aspose.Cells 将 Excel 数据引入 pandas 时,您会获得高保真度的平滑转换为 DataFrames。这意味着您的 Excel 结构、格式和数值保持准确,同时 pandas 为您提供有效分析和转换数据的工具。
将 Excel 转换为 Pandas 数据框
您可以创建一个新的电子表格,程序性地生成数据,并在 Python 中将 Excel 转换为 pandas DataFrame。这使您可以完全控制文件的结构,同时使其准备好在 pandas 中立即分析。
按照以下步骤将 Excel 转换为 Pandas DataFrame:
- 创建
Workbook
类的实例。 - 访问第一个工作表及其单元格。
- 将值添加到工作表单元格中。
- 提取行和标题。
- 将提取的数据转换为 pandas DataFrame。
以下Python代码示例演示了如何将Excel转换为pandas DataFrame:
import pandas as pd
from aspose.cells import Workbook
# 步骤 1: 使用 Aspose.Cells 创建一个新的 Excel 工作簿
wb = Workbook()
# 第 2 步:访问第一个工作表
ws = wb.worksheets.get(0)
# 第 3 步:访问工作表的单元格集合
c = ws.cells
# 步骤 4:向工作表添加示例数据
c.get("A1").value, c.get("B1").value, c.get("C1").value = "Name", "Age", "City"
c.get("A2").value, c.get("B2").value, c.get("C2").value = "Alice", 25, "New York"
c.get("A3").value, c.get("B3").value, c.get("C3").value = "Bob", 30, "San Francisco"
c.get("A4").value, c.get("B4").value, c.get("C4").value = "Charlie", 35, "Los Angeles"
# 步骤 5:从第一行数据中获取标题
header_idx = c.min_data_row
columns = [cell.value for cell in c.rows[header_idx]]
# 步骤 6:收集其余行作为数据
data = [
[cell.value for cell in row]
for idx, row in enumerate(c.rows)
if row and idx != header_idx
]
# 步骤 7:一次性构建 DataFrame
df = pd.DataFrame(data, columns=columns)
print(df)
Output
Name Age City
0 Alice 25 New York
1 Bob 30 San Francisco
2 Charlie 35 Los Angeles
将现有的 Excel 文件转换为 Pandas DataFrame
如果您已经有一个 Excel 文件,您可以加载它并直接在 Python 中将 Excel 转换为 pandas DataFrame。这使您在使用 pandas 更高效地处理数据时能够保留原始的工作表结构。
按照以下步骤加载并将现有的 Excel 文件转换为 Pandas DataFrame:
- 使用
Workbook
类打开现有的 Excel 文件。 - 通过名称或索引选择工作表。
- 阅读所有行和列。
- Extract headers if available.
- 将结果转换为 pandas DataFrame。
以下 Python 代码展示了如何将现有的 Excel 文件转换为 pandas DataFrame:
import pandas as pd
from aspose.cells import Workbook
# 第 1 步:从文件中加载 Excel 工作簿
workbook = Workbook("PandasTest.xlsx")
# 步骤 2:选择工作表(通过索引或名称)
worksheet = workbook.worksheets.get("Sheet1") # or workbook.worksheets[0]
# 步骤 3:从工作表中获取单元格集合
cells = worksheet.cells
# 步骤 4:计算列数(基于 0 的索引差)
col_count = cells.max_data_column - cells.min_data_column
# 步骤 5:创建一个列表以存储行数据
output_data = []
# 第 6 步:查找具有数据的第一行的索引
first_data_row_index = cells.min_data_row
# 步骤 7:遍历表格中的所有行
for row in cells.rows:
if row is None:
continue # Skip uninitialized rows
# 收集当前行的所有单元格值
row_data = [cell.value for cell in row]
output_data.append(row_data)
# 第 8 步:准备列标题
columns = []
if True: # Use header row
row = cells.rows[first_data_row_index]
for cell in row:
columns.append(cell.value)
# 删除数据的标题行
output_data = output_data[1:]
else:
# 如果没有标题,则分配默认列名
columns = [f"Unnamed: {i}" for i in range(col_count + 1)]
# 步骤 9:将数据转换为 pandas DataFrame
df = pd.DataFrame(output_data, columns=columns)
# 步骤 10:打印数据框
print(df)

将示例Excel文件转换为Pandas DataFrame。
Output
Product A Product B Period
0 50 160 Q1
1 100 32 Q2
2 170 50 Q3
3 300 40 Q4
将 Excel 转换为 Pandas 通过 JSON
将您的 Excel 范围导出到 JSON,使用
JsonUtility.exportrangetojson
,然后将其加载到 Pandas 中。请参阅分步指南:Convert Excel to Pandas DataFrame via JSON。
将 Excel 转换为 Pandas 通过 CSV
将您的 Excel 文件转换为 CSV 文件,然后将其加载到 Pandas 中。按照以下逐步指南进行操作: Convert Excel to Pandas DataFrame via CSV。
获取免费许可证
您可以通过申请免费临时许可证,无限制地尝试 Aspose.Cells for Python via .NET 的所有功能。请访问 license page 并获取免费许可证。这允许您评估完整的 API,包括高级 Excel 到 DataFrame 的转换。
额外免费资源
通过这些资源探索更多在Python中处理Excel文件的方法,这将帮助您超越基本转换,并在实际项目中有效应用Aspose.Cells。
结论
将 Excel 文件转换为 pandas 数据框通过 Aspose.Cells for .NET for Python 变得简单而可靠。无论您是构建新的电子表格还是导入现有电子表格,该库都确保高保真数据传输和完整格式支持。通过将 pandas 的灵活性与 Aspose.Cells 的高级 Excel 处理结合起来,您可以简化数据处理并解锁 Python 中强大的分析功能。
如果您有任何问题,请访问我们的 free support forum,我们的团队将很乐意为您提供帮助。