处理 CSV 文件是数据分析师和开发人员的日常任务。如果您需要将 CSV 转换为 Pandas DataFrame,Pandas 提供了一个直接的 readcsv() 函数,但有时您需要更多的功能。这就是 Aspose.Cells for Python 发挥作用的地方。使用 Aspose.Cells,您可以在 Pandas 中导入 CSV,同时确保更好的控制、可靠性和与 Excel 格式的兼容性。在这篇博客文章中,您将逐步学习如何将 CSV 转换为 Pandas,处理 Excel 文件,并将其导出到 Pandas DataFrames。
到最后,您将知道多种快速有效地将 CSV 转换为 Pandas DataFrame 的方法。
将 CSV 转换为 Pandas DataFrame 的 Python 库
Aspose.Cells for Python via .NET 是一个强大的处理电子表格的库。它允许您以编程方式创建、读取、编辑和转换 Excel 和 CSV 文件,而无需 Microsoft Excel。在处理 CSV 到 Pandas 的转换时,Aspose.Cells充当原始 CSV 文件与结构化的 Pandas DataFrames 之间的可靠桥梁。
前提条件
在运行示例之前,请确保您已安装以下内容:
- Aspose.Cells for Python via .NET: 从发布下载 或使用 pip 安装:
pip install aspose-cells-python
- Pandas – 使用 pip 安装:
pip install pandas
这两个库将允许您加载和处理 CSV/Excel 文件,使用 Aspose.Cells,然后将它们转换为 Pandas DataFrames 以进行分析。
Aspose.Cells for Python via .NET → 用于读取和处理 CSV/Excel 文件。
Pandas → 用于构建和分析 DataFrame。
将 CSV 转换为 Pandas DataFrame:逐步指南
在本节中,您将逐步了解使用 Aspose.Cells for Python 将 CSV 文件转换为 Pandas DataFrame 的完整过程。每个步骤都分成小任务。这使得您能够轻松跟随。您将首先加载 CSV 到工作簿中。提取其内容并构建 Pandas DataFrame。
步骤 1:将 CSV 加载到工作簿中
让我们先加载一个 CSV 文件到 Aspose.Cells 工作簿中。
- 导入 Workbook 类。
- 加载 CSV 文件。
- 访问第一个工作表。
import aspose.cells as ac
# Load CSV file into Workbook
csv_wb = ac.Workbook("data.csv")
# Access the first worksheet (CSV loads as sheet)
csv_ws = csv_wb.worksheets[0]
步骤 2:从工作表中提取数据
一旦文件被加载,逐行提取其内容。这为将数据转换为 DataFrame 做准备。
- 获取细胞集合。
- 遍历行和列。
- 在列表的列表中存储值。
cells = csv_ws.cells
# Extract CSV data into Python list
data = []
for row_idx in range(cells.min_data_row, cells.max_data_row + 1):
row_data = []
for col_idx in range(cells.min_data_column, cells.max_data_column + 1):
row_data.append(cells.get(row_idx, col_idx).value)
data.append(row_data)
步骤 3:将 CSV 转换为 Pandas DataFrame
现在,将提取的列表转换为 Pandas DataFrame。此步骤演示如何从 CSV 到 Pandas DataFrame,并带有适当的标题。
- 导入 Pandas。
- 使用第一行作为标题。
- 从剩余的行创建 DataFrame。
import pandas as pd
# Convert to Pandas DataFrame
headers = data[0] # First row as header
rows = data[1:] # Remaining rows as data
df = pd.DataFrame(rows, columns=headers)
print(df.head())
您现在已成功使用 Aspose.Cells 将 CSV 转换为 DataFrame Pandas。
通过这些步骤,您已经了解了如何使用 Aspose.Cells 将 CSV 文件转换为 Pandas DataFrame。接下来,让我们探索如何处理 Excel 文件,首先将它们保存为 CSV,然后将它们加载到 Pandas 中。
将 Excel 转换为 Pandas DataFrame 通过 CSV 文件
有时您的数据以Excel格式(.xlsx或.xls)存在,您希望通过CSV将Excel转换为Pandas DataFrame。Aspose.Cells使这变得无缝。
按照以下步骤通过 CSV 文件将 Excel 转换为 Pandas DataFrames:
- 将 Excel 文件加载到
Workbook类对象中。 - 将 Excel 文件另存为 CSV。
- 将新创建的 CSV 文件重新加载到工作簿中。
- 通过其索引访问第一个工作表。
- 将所有单元格值提取到一个 Python 列表的列表中。
- 使用第一行作为列标题,其余作为数据行。
- 从提取的数据创建一个 Pandas DataFrame。
- 打印结果。
以下代码示例演示了如何在Python中将Excel转换为pandas DataFrame:
import aspose.cells as ac
import pandas as pd
# 加载一个Excel文件
excel_wb = ac.Workbook("PandasTest.xlsx")
# 将 Excel 保存为 CSV
excel_wb.save("converted.csv", ac.SaveFormat.CSV)
# 使用 Aspose.Cells 重新加载 CSV
csv_wb = ac.Workbook("converted.csv")
csv_ws = csv_wb.worksheets[0]
# 从CSV中提取数据
cells = csv_ws.cells
data = []
for row_idx in range(cells.min_data_row, cells.max_data_row + 1):
row_data = []
for col_idx in range(cells.min_data_column, cells.max_data_column + 1):
row_data.append(cells.get(row_idx, col_idx).value)
data.append(row_data)
# 转换为 Pandas DataFrame
headers = data[0]
rows = data[1:]
df = pd.DataFrame(rows, columns=headers)
# Show results
print(df.head())

将示例 Excel 文件转换为通过 CSV 获取的 Pandas DataFrame。
Output
Product A Product B Period
0 50 160 Q1
1 100 32 Q2
2 170 50 Q3
3 300 40 Q4
处理大型 CSV 文件
对于非常大的数据集,Aspose.Cells 的内存处理比普通的 Pandas 更好。您甚至可以启用内存优化。按照之前的步骤进行操作。唯一的变化是使用 LoadOptions 加载 CSV 文件,并将 MEMORYPREFERENCE 设置为有效处理大文件。
以下代码示例演示了如何在 Python 中将大型 CSV 文件转换为 pandas DataFrame:
import aspose.cells as ac
import pandas as pd
# 使用 Aspose.Cells 加载大型 CSV 文件
options = ac.LoadOptions()
options.memory_setting = ac.MemorySetting.MEMORY_PREFERENCE
csv_wb = ac.Workbook("large_file.csv", options)
csv_ws = workbook.worksheets[0]
# 从CSV中提取数据
cells = csv_ws.cells
data = []
for row_idx in range(cells.min_data_row, cells.max_data_row + 1):
row_data = []
for col_idx in range(cells.min_data_column, cells.max_data_column + 1):
row_data.append(cells.get(row_idx, col_idx).value)
data.append(row_data)
# 转换为 Pandas DataFrame
headers = data[0]
rows = data[1:]
df = pd.DataFrame(rows, columns=headers)
# Show results
print(df.head())
这使得在数据管道中以更高效的方式在 Pandas 中导入 CSV。
获取免费许可证
今天尝试使用 Aspose.Cells for Python 来增强您的 CSV 到 Pandas DataFrame 的转换。下载 免费试用版或 获取临时许可证,以便无缝探索完整功能。
CSV 到 DF:额外的免费资源
您可以使用以下资源深入探索 Aspose.Cells for Python 中关于 CSV 导入、DataFrame 转换以及其他 Excel 和 CSV 处理功能的更多信息。
结论
在本指南中,您学习了如何将 CSV 文件直接加载到 Aspose.Cells 中并将其转换为 Pandas DataFrame,以及如何在导入之前将 Excel 文件保存为 CSV。结合 Pandas,Aspose.Cells 使您能够获得更大的控制、性能和灵活性,从而使您的数据处理任务更可靠和可扩展。
如果您有任何问题或需要帮助,请访问我们的 free support forum。我们的支持团队随时为您提供帮助。
