处理 CSV 文件是数据分析师和开发人员的日常工作。如果您需要将 CSV 转换为 Pandas DataFrame,Pandas 提供了直接read_csv()函数,但有时您需要更强大的功能。这时,Aspose.Cells for Python 就派上用场了。使用 Aspose.Cells,您可以在 Pandas 中导入 CSV,同时确保更好的控制、可靠性以及与 Excel 格式的兼容性。在本篇教程中,您将逐步学习如何将 CSV 转换为 Pandas、处理 Excel 文件以及将其导出到 Pandas DataFrame。
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
将 CSV 转换为 Pandas DataFrame 的 Python 库
Aspose.Cells for Python via .NET是一个功能强大的电子表格处理库。它允许您以编程方式创建、读取、编辑和转换 Excel 和 CSV 文件,而无需 Microsoft Excel。在处理 CSV 到 Pandas 的转换时,Aspose.Cells 可以充当原始 CSV 文件和结构化 Pandas DataFrame 之间的可靠桥梁。
先决条件
在运行示例之前,请确保已安装以下内容:
- 通过 .NET 的 Python Aspose.Cells:从版本下载或使用 pip 安装:
pip install aspose-cells-python
- Pandas – 使用 pip 安装:
pip install pandas
这两个库将允许您使用 Aspose.Cells 加载和处理 CSV/Excel 文件,然后将它们转换为 Pandas DataFrames 进行分析。
通过 .NET 为 Python 使用 Aspose.Cells → 用于读取和处理 CSV/Excel 文件。
Pandas →用于构建和分析 DataFrames。
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
将 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 中。
通过 CSV 文件将 Excel 转换为 Pandas DataFrame
有时您的数据是 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
# Load an Excel file
excel_wb = ac.Workbook("PandasTest.xlsx")
# Save Excel as CSV
excel_wb.save("converted.csv", ac.SaveFormat.CSV)
# Reload CSV with Aspose.Cells
csv_wb = ac.Workbook("converted.csv")
csv_ws = csv_wb.worksheets[0]
# Extract data from 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)
# Convert to Pandas DataFrame
headers = data[0]
rows = data[1:]
df = pd.DataFrame(rows, columns=headers)
# Show results
print(df.head())
输出:
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 更能处理内存。您甚至可以启用内存优化。步骤与之前相同。唯一的变化是加载 CSV 文件LoadOptions并设置MEMORY_PREFERENCE为高效处理大文件。
以下代码示例展示了如何在 Python 中将大型 CSV 文件转换为 pandas DataFrame:
import aspose.cells as ac
import pandas as pd
# Load the large CSV file with Aspose.Cells
options = ac.LoadOptions()
options.memory_setting = ac.MemorySetting.MEMORY_PREFERENCE
csv_wb = ac.Workbook("large_file.csv", options)
csv_ws = workbook.worksheets[0]
# Extract data from 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)
# Convert to Pandas DataFrame
headers = data[0]
rows = data[1:]
df = pd.DataFrame(rows, columns=headers)
# Show results
print(df.head())
结论
在本指南中,您学习了如何将 CSV 文件直接加载到 Aspose.Cells 中并将其转换为 Pandas DataFrames,以及如何在导入 Excel 文件之前将其保存为 CSV。Aspose.Cells 与 Pandas 结合使用,可为您提供更强大的控制力、性能和灵活性,使您的数据处理任务更加可靠且可扩展。
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。