Excel处理控件Aspose.Cells教程:如何将Excel区域转换为Python列表
<p><img src="https://image.evget.com/attachment/keditor/image/20250917/095622_1.png"></p><p>在 Python 中处理 Excel 数据通常需要将特定的行和列提取为列表格式。将 Excel 范围转换为 Python 列表对于以下任务非常有用:</p>
<ul>
<li><strong>使用Pandas</strong>和<strong>NumPy</strong>进行数据分析</li>
<li>报告和 ETL 流程的自动化</li>
<li>与机器学习模型或 API 集成</li>
</ul>
<p>在本教程中,我们将逐步学习如何借助<strong><u>Aspose.Cells在 Python</u></strong> 中将定义的 Excel 范围转换为列表。</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-excel-to-list-converter-library">Python Excel 到列表转换库</h2>
<p>开发人员无需手动解析 Excel 文件,而是可以使用 <strong><u>Aspose.Cells for Python via .NET</u></strong>(一个功能强大的 Excel 到列表转换库)。它不仅可以更轻松地将范围、行和列提取到 Python 列表中,还支持公式、格式、图表和数据透视表等高级功能,即使在复杂的电子表格中也能确保准确性。</p>
<p>在编码之前,请确保您的设置已准备就绪:</p>
<ol>
<li>安装<strong>Python 3.7+</strong>。</li>
<li><strong>从发行版下载 Aspose.Cells</strong>或使用 pip 安装:
<pre class="prettyprint lang-js highlighter-hljs"><code>pip install aspose-cells-python</code></pre>
</li>
<li>sample_data.xlsx准备一个包含以下内容的示例 Excel 文件( ):<img src="https://image.evget.com/attachment/keditor/image/20250917/100202_1.png"></li>
</ol>
<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-excel-range-to-python-list-step-by-step-guide">将 Excel 范围转换为 Python 列表:分步指南</h2>
<p>让我们了解使用 <strong><u>Aspose.Cells for Python</u></strong> 将一系列 Excel 数据转换为 Python 列表的过程。</p>
<p>按照以下步骤将 Excel 范围转换为 Python 中的列表:</p>
<ol>
<li>首先,使用该类加载现有的 Excel 文件Workbook。</li>
<li>其次,获取第一个工作表。</li>
<li>接下来,创建一个范围,例如 A1 到 C4。</li>
<li>之后,将 Range 转换为 Python List。</li>
<li>最后,打印列表。</li>
</ol>
<p>以下 Python 脚本加载 Excel 文件,定义范围并将其转换为 Python 列表。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>from aspose.cells import Workbook
# Step 1: Load the Excel workbook
book = cells.Workbook("sample_data.xlsx")
# Step 2: Access the first worksheet
sheet1 = book.worksheets.get(0)
# Step 3: Define the range (A1:C4 in this example)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")
# Step 4: Convert the range into a nested Python list
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
row = []
for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
curr_cell = sheet_cells.check_cell(row_index, column_index)
row.append(curr_cell.value if curr_cell else "")
range_list.append(row)
# Step 5: Print the Python list
print("Python List Output:")
print(range_list)</code></pre>
<p><strong>输出</strong></p>
<pre class="prettyprint lang-js highlighter-hljs"><code>Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]</code></pre>
<p>此完整脚本演示了如何从 Excel 中提取数据并将其转换为 Python 列表。之后,您可以根据需要轻松地将其转换为 Pandas 或 JSON。</p>
<h3 id="convert-python-list-to-pandas-dataframe">将 Python 列表转换为 Pandas DataFrame</h3>
<p>使用 Pandas,您可以直接将列表转换为 DataFrame:</p>
<pre class="prettyprint highlighter-hljs"><code>import pandas as pd
# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list, columns=range_list)
print(df)</code></pre>
<p><strong>Pandas DataFrame 输出:</strong></p>
<pre class="prettyprint highlighter-hljs"><code> City RegionStore
0 ChicagoCentral 3055
1New York East 3036
2 DetroitCentral 3074</code></pre>
<h3 id="save-python-list-as-json">将 Python 列表保存为 JSON</h3>
<p>您还可以将数据导出为 JSON:</p>
<pre class="prettyprint highlighter-hljs"><code>import json
# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)</code></pre>
<p><strong>JSON 输出:</strong></p>
<pre class="prettyprint highlighter-hljs"><code>[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]</code></pre>
<h2 id="convert-excel-row-to-list-in-python">在 Python 中将 Excel 行转换为列表</h2>
<p>有时您可能只想从 Excel 中提取一行并将其存储为列表。以下是使用 <strong><u>Aspose.Cells </u></strong>的操作方法:</p>
<ol>
<li>加载 Excel 工作簿。</li>
<li>访问目标工作表。</li>
<li>通过索引选择行。</li>
<li>将行值收集到 Python 列表中。</li>
</ol>
<pre class="prettyprint lang-js highlighter-hljs"><code># Import Aspose.Cells library
from aspose.cells import Workbook
# Step 1: Load the Excel workbook from file
book = Workbook("sample_data.xlsx")
# Step 2: Access the first worksheet in the workbook
sheet = book.worksheets.get(0)
# Step 3: Define the row index (0 = first row, which contains headers)
row_index = 0
cells = sheet.cells
# Create a range object for the selected row
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)
# Step 4: Convert the row into a Python list
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
curr_cell = cells.check_cell(row_index, column_index)# Get each cell in the row
row_list.append(curr_cell.value if curr_cell else "")# Append value or empty string if cell is blank
# Print the extracted row as a list
print("Row to List:", row_list)</code></pre>
<p><strong>输出:</strong></p>
<pre class="prettyprint highlighter-hljs"><code>Row to List: ['City', 'Region', 'Store']</code></pre>
<h2 id="convert-excel-column-to-list-in-python">使用 Python 将 Excel 列转换为列表</h2>
<p>您还可以将单列提取到列表中。例如,我们将“Region”列转换为列表:</p>
<ol>
<li>加载工作簿和工作表。</li>
<li>通过索引选择列。</li>
<li>遍历列中的每一行。</li>
<li>将列值收集到列表中。</li>
</ol>
<pre class="prettyprint highlighter-hljs"><code># Import Aspose.Cells library
from aspose.cells import Workbook
# Step 1: Load the Excel workbook from file
book = Workbook("sample_data.xlsx")
# Access the first worksheet in the workbook
sheet = book.worksheets.get(0)
# Step 2: Define the column index (0 = first column, i.e., Column A)
col_index = 0
cells = sheet.cells
# Create a range object for the selected column
# Parameters: (start_row, start_column, total_rows, total_columns)
# Here, start at row 0, select col_index, include all rows, and width = 1 column
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)
# Step 3 & 4: Convert the column into a Python list
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
curr_cell = cells.check_cell(row_index, col_index)# Get each cell in the column
if curr_cell:# Only add if the cell exists (ignore empty rows)
col_list.append(curr_cell.value)
# Print the extracted column as a list
print("Column to List:", col_list)</code></pre>
<p><strong>输出:</strong></p>
<pre class="prettyprint highlighter-hljs"><code>Column to List: ['City', 'Chicago', 'New York', 'Detroit']</code></pre>
<h2 id="conclusion">结论</h2>
<p>我们演示了如何通过 .NET 使用<strong><u> Aspose.Cells for Python</u></strong> 提取范围、行和列,将 Excel 数据转换为 Python 列表。转换为列表后,数据可用于 Pandas、JSON 或其他处理任务。虽然 openpyxl 或 pandas.read_excel 等库可以提取范围,但<strong><u> Aspose.Cells </u></strong>能够更好地控制公式、格式、图表和合并单元格,使其成为复杂 Excel 操作的更佳选择。</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/19096562
頁:
[1]