Excel处理控件Aspose.Cells教程:在 Python 中将 CSV 转换为 Pandas DataFrame
处理 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步骤 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 # First row as header
rows = data # 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
# 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
rows = data
df = pd.DataFrame(rows, columns=headers)
# Show results
print(df.head())输出:
Product AProduct 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
# 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
rows = data
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),与更多小伙伴一起探讨提升开发技能。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]