Excel处理控件Aspose.Cells教程:在 Python 中将 CSV 转换为 Pandas DataFrame
<p><img src="https://image.evget.com/attachment/keditor/image/20250902/093548_7.png"></p><p>处理 CSV 文件是数据分析师和开发人员的日常工作。如果您需要将 CSV 转换为 Pandas DataFrame,Pandas 提供了直接read_csv()函数,但有时您需要更强大的功能。这时,<strong><u>Aspose.Cells for Python</u></strong> 就派上用场了。使用 <strong><u>Aspose.Cells</u></strong>,您可以在 Pandas 中导入 CSV,同时确保更好的控制、可靠性以及与 Excel 格式的兼容性。在本篇教程中,您将逐步学习如何将 CSV 转换为 Pandas、处理 Excel 文件以及将其导出到 Pandas DataFrame。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong><em>加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。</em></strong></span></p>
<h2 id="python-library-to-convert-csv-to-pandas-dataframe">将 CSV 转换为 Pandas DataFrame 的 Python 库</h2>
<p><strong><u>Aspose.Cells for Python via .NET</u></strong>是一个功能强大的电子表格处理库。它允许您以编程方式创建、读取、编辑和转换 Excel 和 CSV 文件,而无需 Microsoft Excel。在处理 CSV 到 Pandas 的转换时,<strong><u>Aspose.Cells</u></strong> 可以充当原始 CSV 文件和结构化 Pandas DataFrame 之间的可靠桥梁。</p>
<h2 id="prerequisites">先决条件</h2>
<p>在运行示例之前,请确保已安装以下内容:</p>
<ul>
<li><strong>通过 .NET 的 <u>Python Aspose.Cells</u></strong><strong><u>:</u></strong><strong><u>从版本下载</u></strong>或使用 pip 安装:</li>
</ul>
<pre class="prettyprint lang-js highlighter-hljs"><code>pip install aspose-cells-python</code></pre>
<ul>
<li><strong>Pandas</strong> – 使用 pip 安装:</li>
</ul>
<pre class="prettyprint lang-js highlighter-hljs"><code>pip install pandas</code></pre>
<p>这两个库将允许您使用<strong><u> Aspose.Cells </u></strong>加载和处理 CSV/Excel 文件,然后将它们转换为 Pandas DataFrames 进行分析。</p>
<blockquote>
<p>通过 .NET 为 Python 使用 Aspose.Cells → 用于读取和处理 CSV/Excel 文件。</p>
</blockquote>
<blockquote>
<p>Pandas →用于构建和分析 DataFrames。</p>
</blockquote>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong><em>加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。</em></strong></span></p>
<h2 id="convert-csv-to-pandas-dataframe-step-by-step">将 CSV 转换为 Pandas DataFrame:分步说明</h2>
<p>在本节中,您将逐步了解使用 <strong>Aspose.Cells for Python</strong> 将 CSV 文件转换为 Pandas DataFrame 的完整过程。每个步骤都分解为多个小任务,方便您轻松掌握。首先,您将把 CSV 文件加载到工作簿中。提取其内容并构建 Pandas DataFrame。</p>
<h3 id="step-1-load-csv-into-workbook">步骤 1:将 CSV 加载到工作簿</h3>
<p>让我们首先将 CSV 文件加载到 <strong><u>Aspose.Cells </u></strong>工作簿中。</p>
<ol>
<li>导入 Workbook 类。</li>
<li>加载 CSV 文件。</li>
<li>访问第一个工作表。</li>
</ol>
<pre class="prettyprint lang-js highlighter-hljs"><code>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</code></pre>
<h3 id="step-2-extract-data-from-worksheet">步骤 2:从工作表中提取数据</h3>
<p>文件加载完成后,逐行提取其内容。这将为数据转换为 DataFrame 做好准备。</p>
<ol>
<li>获取细胞集合。</li>
<li>循环遍历行和列。</li>
<li>将值存储在列表列表中。</li>
</ol>
<pre class="prettyprint lang-js highlighter-hljs"><code>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)</code></pre>
<h3 id="step-3-convert-csv-to-pandas-dataframe">步骤3:将CSV转换为Pandas DataFrame</h3>
<p>现在,将提取的列表转换为 Pandas DataFrame。此步骤展示如何将 CSV 转换为带有适当标头的 Pandas DataFrame。</p>
<ol>
<li>导入 Pandas。</li>
<li>使用第一行作为标题。</li>
<li>从剩余的行创建 DataFrame。</li>
</ol>
<pre class="prettyprint lang-js highlighter-hljs"><code>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())</code></pre>
<blockquote>
<p>现在,您已成功使用 Aspose.Cells 将 CSV 转换为 DataFrame Pandas。</p>
</blockquote>
<p>通过这些步骤,您已经了解了如何使用 <strong><u>Aspose.Cells</u></strong> 将 CSV 文件转换为 Pandas DataFrame。接下来,让我们探索如何处理 Excel 文件:首先将其保存为 CSV,然后将其加载到 Pandas 中。</p>
<h2 id="convert-excel-to-pandas-dataframe-via-csv-file">通过 CSV 文件将 Excel 转换为 Pandas DataFrame</h2>
<p>有时您的数据是 Excel 格式(.xlsx 或 .xls),并且您想通过 CSV 将 Excel 转换为 Pandas DataFrame。Aspose.Cells 可以实现无缝衔接。</p>
<p>按照以下步骤通过 CSV 文件将 Excel 转换为 Pandas DataFrames:</p>
<ol>
<li>将 Excel 文件加载到Workbook类对象中。</li>
<li>将 Excel 文件保存为 CSV。</li>
<li>将新创建的 CSV 文件重新加载到工作簿中。</li>
<li>通过索引访问第一个工作表。</li>
<li>将所有单元格值提取到 Python 列表列表中。</li>
<li>使用第一行作为列标题,其余作为数据行。</li>
<li>从提取的数据中创建一个 Pandas DataFrame。</li>
<li>打印结果。</li>
</ol>
<p>以下代码示例展示了如何在 Python 中将 Excel 转换为 pandas DataFrame:</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>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())</code></pre>
<p><strong>输出:</strong></p>
<pre class="prettyprint lang-js highlighter-hljs"><code> Product AProduct B Period
0 50 160 Q1
1 100 32 Q2
2 170 50 Q3
3 300 40 Q4</code></pre>
<h2 id="working-with-large-csv-files">处理大型 CSV 文件</h2>
<p>对于非常大的数据集,<strong><u>Aspose.Cells</u></strong> 比普通的 Pandas 更能处理内存。您甚至可以启用内存优化。步骤与之前相同。唯一的变化是加载 CSV 文件LoadOptions并设置MEMORY_PREFERENCE为高效处理大文件。</p>
<p>以下代码示例展示了如何在 Python 中将大型 CSV 文件转换为 pandas DataFrame:</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>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())</code></pre>
<h2 id="conclusion">结论</h2>
<p>在本指南中,您学习了如何将 CSV 文件直接加载到 <strong><u>Aspose.Cells </u></strong>中并将其转换为 Pandas DataFrames,以及如何在导入 Excel 文件之前将其保存为 CSV。<strong><u>Aspose.Cells </u></strong>与 Pandas 结合使用,可为您提供更强大的控制力、性能和灵活性,使您的数据处理任务更加可靠且可扩展。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong><em>加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。</em></strong></span></p><br><br>
来源:https://www.cnblogs.com/software-Development/p/19069482
頁:
[1]