
在 Python 中处理 Excel 数据通常需要将特定的行和列提取为列表格式。将 Excel 范围转换为 Python 列表对于以下任务非常有用:
- 使用Pandas和NumPy进行数据分析
- 报告和 ETL 流程的自动化
- 与机器学习模型或 API 集成
在本教程中,我们将逐步学习如何借助Aspose.Cells在 Python 中将定义的 Excel 范围转换为列表。
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
Python Excel 到列表转换库
开发人员无需手动解析 Excel 文件,而是可以使用 Aspose.Cells for Python via .NET(一个功能强大的 Excel 到列表转换库)。它不仅可以更轻松地将范围、行和列提取到 Python 列表中,还支持公式、格式、图表和数据透视表等高级功能,即使在复杂的电子表格中也能确保准确性。
在编码之前,请确保您的设置已准备就绪:
- 安装Python 3.7+。
- 从发行版下载 Aspose.Cells或使用 pip 安装:
pip install aspose-cells-python
- sample_data.xlsx准备一个包含以下内容的示例 Excel 文件( ):
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
将 Excel 范围转换为 Python 列表:分步指南
让我们了解使用 Aspose.Cells for Python 将一系列 Excel 数据转换为 Python 列表的过程。
按照以下步骤将 Excel 范围转换为 Python 中的列表:
- 首先,使用该类加载现有的 Excel 文件Workbook。
- 其次,获取第一个工作表。
- 接下来,创建一个范围,例如 A1 到 C4。
- 之后,将 Range 转换为 Python List。
- 最后,打印列表。
以下 Python 脚本加载 Excel 文件,定义范围并将其转换为 Python 列表。
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)
输出
Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]
此完整脚本演示了如何从 Excel 中提取数据并将其转换为 Python 列表。之后,您可以根据需要轻松地将其转换为 Pandas 或 JSON。
将 Python 列表转换为 Pandas DataFrame
使用 Pandas,您可以直接将列表转换为 DataFrame:
import pandas as pd
# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)
Pandas DataFrame 输出:
City Region Store
0 Chicago Central 3055
1 New York East 3036
2 Detroit Central 3074
将 Python 列表保存为 JSON
您还可以将数据导出为 JSON:
import json
# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)
JSON 输出:
[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]
在 Python 中将 Excel 行转换为列表
有时您可能只想从 Excel 中提取一行并将其存储为列表。以下是使用 Aspose.Cells 的操作方法:
- 加载 Excel 工作簿。
- 访问目标工作表。
- 通过索引选择行。
- 将行值收集到 Python 列表中。
# 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)
输出:
Row to List: ['City', 'Region', 'Store']
使用 Python 将 Excel 列转换为列表
您还可以将单列提取到列表中。例如,我们将“Region”列转换为列表:
- 加载工作簿和工作表。
- 通过索引选择列。
- 遍历列中的每一行。
- 将列值收集到列表中。
# 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)
输出:
Column to List: ['City', 'Chicago', 'New York', 'Detroit']
结论
我们演示了如何通过 .NET 使用 Aspose.Cells for Python 提取范围、行和列,将 Excel 数据转换为 Python 列表。转换为列表后,数据可用于 Pandas、JSON 或其他处理任务。虽然 openpyxl 或 pandas.read_excel 等库可以提取范围,但 Aspose.Cells 能够更好地控制公式、格式、图表和合并单元格,使其成为复杂 Excel 操作的更佳选择。
Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。