Работа с данными Excel в Python часто требует извлечения определенных строк и столбцов в формат списка. Преобразование диапазона Excel в список Python чрезвычайно полезно для задач, таких как:
- Анализ данных с помощью Pandas и NumPy
- Автоматизация отчетности и процессов ETL
- Интеграция с моделями машинного обучения или API
В этой статье мы шаг за шагом научимся, как конвертировать заданный диапазон Excel в список в Python.
Библиотека для преобразования Excel в список на Python
Вместо того чтобы вручную анализировать файлы Excel, разработчики могут использовать Aspose.Cells for Python через .NET, мощную библиотеку для конвертации Excel в список. Она не только упрощает извлечение диапазонов, строк и столбцов в списки Python, но и поддерживает такие расширенные функции, как формулы, форматирование, диаграммы и сводные таблицы, обеспечивая точность даже с сложными электронными таблицами.
Перед кодированием убедитесь, что ваша настройка готова:
- Установите Python 3.7+.
- Скачать Aspose.Cells из релизов или установите его с помощью pip:
pip install aspose-cells-python
- Подготовьте образец файла Excel (
sampledata.xlsx) со следующим содержимым:

Пример файла данных Excel.
Перевести диапазон Excel в список Python: Пошаговое руководство
Давайте пройдемся по процессу преобразования диапазона данных Excel в список Python с использованием Aspose.Cells for Python.
Следуйте шагам ниже, чтобы преобразовать диапазон Excel в список на Python:
- Сначала загрузите существующий файл Excel, используя класс
Workbook. - Второе, получите первый лист.
- Далее создайте диапазон, например, A1 до C4.
- После этого преобразуйте диапазон в список Python.
- Наконец-то распечатайте список.
Следующий скрипт на Python загружает файл Excel, определяет диапазон и преобразует его в список Python.
from aspose.cells import Workbook
# Шаг 1: Загрузите рабочую книгу Excel
book = cells.Workbook("sample_data.xlsx")
# Шаг 2: Получите доступ к первому листу рабочего файла
sheet1 = book.worksheets.get(0)
# Шаг 3: Определите диапазон (A1:C4 в этом примере)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")
# Шаг 4: Преобразуйте диапазон в вложенный список Python
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)
# Шаг 5: Напечатайте список Python
print("Python List Output:")
print(range_list)
Output
Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]
Этот полный скрипт показывает, как извлечь данные из Excel и преобразовать их в список Python. После этого их можно легко преобразовать в Pandas или JSON в зависимости от ваших требований.
Преобразование списка Python в DataFrame Pandas
С помощью Pandas вы можете напрямую преобразовать список в DataFrame:
import pandas as pd
# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)
Вывод DataFrame Pandas:
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 Output:
[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]
Преобразование строки Excel в список на Python
Иногда вам может понадобиться извлечь всего одну строку из Excel и сохранить ее в виде списка. Вот как это сделать с помощью Aspose.Cells:
- Загрузите книгу Excel.
- Получите доступ к целевому рабочему листу.
- Выберите строку по индексу.
- Соберите значения строки в список Python.
# Импортируйте библиотеку Aspose.Cells
from aspose.cells import Workbook
# Шаг 1: Загрузите рабочую книгу Excel из файла
book = Workbook("sample_data.xlsx")
# Шаг 2: Получите доступ к первому листу в книгеworkbook
sheet = book.worksheets.get(0)
# Шаг 3: Определите индекс строки (0 = первая строка, которая содержит заголовки)
row_index = 0
cells = sheet.cells
# Создайте объект диапазона для выбранной строки
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)
# Шаг 4: Преобразуйте строку в список Python
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("Row to List:", row_list)
Output:
Row to List: ['City', 'Region', 'Store']
Преобразование столбца Excel в список в Python
Вы также можете извлечь один столбец в список. Например, давайте преобразуем столбец Region в список:
- Загрузите рабочую книгу и лист.
- Выберите столбец по индексу.
- Проведите обход каждой строки в столбце.
- Соберите значения столбца в список.
# Импорт библиотеки Aspose.Cells
from aspose.cells import Workbook
# Шаг 1: Загрузите книгу Excel из файла
book = Workbook("sample_data.xlsx")
# Получите доступ к первому листу в книге.
sheet = book.worksheets.get(0)
# Шаг 2: Определите индекс столбца (0 = первый столбец, т.е. Столбец A)
col_index = 0
cells = sheet.cells
# Создайте объект диапазона для выбранного столбца
# Параметры: (startrow, startcolumn, totalrows, totalcolumns)
# Здесь начните с строки 0, выберите colindex, включите все строки, и ширина = 1 колонка
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)
# Этап 3 и 4: Преобразовать столбец в список Python
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("Column to List:", col_list)
Output:
Column to List: ['City', 'Chicago', 'New York', 'Detroit']
Получите бесплатную лицензию
Оцените Aspose.Cells for Python через .NET без ограничений. Запросите бесплатную временную лицензию на странице лицензий.Примените ее в своем коде, чтобы убрать ограничения оценки. Протестируйте каждую функцию, включая DF в Excel, диаграммы, формулы и большие файлы.
Excel to List: Бесплатные ресурсы
Используйте следующие ресурсы, чтобы углубить свои знания, укрепить свое понимание и получить практические идеи, которые помогут вам более эффективно применить то, что вы узнали.
- Aspose.Cells Официальная Документация
- API Справочник
- Бесплатные онлайн инструменты Excel
- Учебные пособия и руководства для разработчиков
Заключение
Мы продемонстрировали, как преобразовать данные Excel в списки Python, извлекая диапазоны, строки и столбцы с помощью Aspose.Cells for Python через .NET. Как только данные находятся в виде списка, их можно использовать для Pandas, JSON или других задач обработки. Хотя такие библиотеки, как openpyxl или pandas.readexcel, могут извлекать диапазоны, Aspose.Cells предоставляет больше контроля над формулами, форматированием, диаграммами и объединенными ячейками, что делает её более подходящим выбором для сложных операций с Excel.
Если вам нужна помощь или у вас есть вопросы, не стесняйтесь обращаться на наш Aspose.Cells Free Support Forum.Наша команда будет рада помочь вам.
