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 功能,如公式、合并单元格、图表、数据透视表和条件格式化。它支持多种格式,包括 XLSXLSXXLSB、ODS、CSV 和 JSON。

当您使用 Aspose.Cells 将 Excel 数据引入 pandas 时,您会获得高保真度的平滑转换为 DataFrames。这意味着您的 Excel 结构、格式和数值保持准确,同时 pandas 为您提供有效分析和转换数据的工具。

将 Excel 转换为 Pandas 数据框

您可以创建一个新的电子表格,程序性地生成数据,并在 Python 中将 Excel 转换为 pandas DataFrame。这使您可以完全控制文件的结构,同时使其准备好在 pandas 中立即分析。

按照以下步骤将 Excel 转换为 Pandas DataFrame:

  1. 创建 Workbook 类的实例。
  2. 访问第一个工作表及其单元格。
  3. 将值添加到工作表单元格中。
  4. 提取行和标题。
  5. 将提取的数据转换为 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:

  1. 使用 Workbook 类打开现有的 Excel 文件。
  2. 通过名称或索引选择工作表。
  3. 阅读所有行和列。
  4. Extract headers if available.
  5. 将结果转换为 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

将示例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,我们的团队将很乐意为您提供帮助。

另见