Файлы Excel остаются одним из самых популярных форматов для управления структурированными данными. В Python структура DataFrame из библиотеки pandas является основной для организации и анализа этих данных эффективно. После преобразования в DataFrame данные Excel могут быть бесшовно объединены с базами данных, API или моделями машинного обучения для более глубокого анализа и получения инсайтов. В этой статье мы рассмотрим практические способы преобразования Excel в DataFrame pandas с четкими примерами, чтобы помочь вам начать.
What is a Pandas DataFrame?
DataFrame — это 2D структура данных, предоставляемая библиотекой pandas. Она выглядит похожей на электронную таблицу Excel с строками и столбцами. Каждый столбец может содержать данные различных типов, таких как строки, целые числа или числа с плавающей запятой.
DataFrames идеально подходят для:
- Импорт и очистка данных.
- Выполнение математических операций.
- Фильтрация, группировка и агрегирование данных.
- Экспорт результатов в Excel, CSV или базы данных.
Когда вы конвертируете файлы Excel в DataFrames, вы можете сразу применять мощные операции pandas для анализа.
Библиотека Python для преобразования Excel в DataFrame Pandas
Aspose.Cells for Python через .NET часто считается лучшей библиотекой Python для Excel для разработчиков, которым нужно больше, чем простая работа с таблицами. Она позволяет создавать, читать, редактировать и конвертировать файлы Excel программным способом без установки Microsoft Excel.
Для конвертации DataFrame эта библиотека выделяется, поскольку она полностью поддерживает расширенные функции Excel, такие как формулы, объединенные ячейки, диаграммы, сводные таблицы и условное форматирование. Она работает с несколькими форматами, включая XLS, XLSX, XLSB, ODS, CSV и JSON.
Когда вы используете Aspose.Cells для импорта данных Excel в pandas, вы получаете плавное преобразование в DataFrames с высокой точностью. Это значит, что ваша структура Excel, форматирование и значения остаются точными, в то время как pandas предоставляет вам инструменты для эффективного анализа и преобразования этих данных.
Конвертировать Excel в Pandas DataFrame
Вы можете создать новую электронную таблицу, генерировать данные программным образом и конвертировать Excel в DataFrame pandas в Python. Это дает вам полный контроль над структурой файла, делая его готовым для немедленного анализа в pandas.
Следуйте следующим шагам, чтобы преобразовать Excel в DataFrame Pandas:
- Создайте экземпляр класса
Workbook. - Получите доступ к первому листу и его ячейкам.
- Добавьте значения в ячейки рабочего листа.
- Extract rows and headers.
- Преобразуйте извлеченные данные в DataFrame pandas.
Следующий пример кода на Python демонстрирует, как конвертировать Excel в DataFrame pandas:
import pandas as pd
from aspose.cells import Workbook
# Шаг 1: Создайте новую книгу Excel с использованием Aspose.Cells
wb = Workbook()
# Шаг 2: Получите доступ к первому листу рабочего документа
ws = wb.worksheets.get(0)
# Шаг 3: Получите коллекцию ячеек рабочего листа
c = ws.cells
# Шаг 4: Добавьте образцы данных в рабочий лист
c.get("A1").value, c.get("B1").value, c.get("C1").value = "Name", "Age", "City"
c.get("A2").value, c.get("B2").value, c.get("C2").value = "Alice", 25, "New York"
c.get("A3").value, c.get("B3").value, c.get("C3").value = "Bob", 30, "San Francisco"
c.get("A4").value, c.get("B4").value, c.get("C4").value = "Charlie", 35, "Los Angeles"
# Шаг 5: Получите заголовок из первой строки данных
header_idx = c.min_data_row
columns = [cell.value for cell in c.rows[header_idx]]
# Шаг 6: Сбор оставшихся строк как данных
data = [
[cell.value for cell in row]
for idx, row in enumerate(c.rows)
if row and idx != header_idx
]
# Шаг 7: Постройте DataFrame за один раз
df = pd.DataFrame(data, columns=columns)
print(df)
Output
Name Age City
0 Alice 25 New York
1 Bob 30 San Francisco
2 Charlie 35 Los Angeles
Преобразовать существующий файл Excel в DataFrame Pandas
Если у вас уже есть файл Excel, вы можете загрузить его и конвертировать Excel в DataFrame pandas в Python напрямую. Это позволяет вам сохранить исходную структуру листа, работая с данными более эффективно в pandas.
Следуйте приведённым ниже шагам, чтобы загрузить и преобразовать существующий файл Excel в DataFrame Pandas:
- Откройте существующий файл Excel, используя класс
Workbook. - Выберите рабочий лист по имени или индексу.
- Прочитайте все строки и столбцы.
- Extract headers if available.
- Преобразуйте результат в DataFrame pandas.
Следующий код на Python показывает, как преобразовать существующий файл Excel в DataFrame pandas:
import pandas as pd
from aspose.cells import Workbook
# Шаг 1: Загрузите книгу Excel из файла
workbook = Workbook("PandasTest.xlsx")
# Шаг 2: Выберите рабочий лист (по индексу или по имени)
worksheet = workbook.worksheets.get("Sheet1") # or workbook.worksheets[0]
# Шаг 3: Получить коллекцию ячеек из рабочей таблицы
cells = worksheet.cells
# Шаг 4: Рассчитайте количество столбцов (разница индексов, основанная на нуле)
col_count = cells.max_data_column - cells.min_data_column
# Шаг 5: Создайте список для хранения данных строки
output_data = []
# Шаг 6: Найдите индекс первой строки, в которой есть данные
first_data_row_index = cells.min_data_row
# Шаг 7: Итерируйте через все строки в листе
for row in cells.rows:
if row is None:
continue # Skip uninitialized rows
# Соберите все значения ячеек для текущей строки
row_data = [cell.value for cell in row]
output_data.append(row_data)
# Шаг 8: Подготовить заголовки столбцов
columns = []
if True: # Use header row
row = cells.rows[first_data_row_index]
for cell in row:
columns.append(cell.value)
# Удалите строку заголовка из данных
output_data = output_data[1:]
else:
# Если нет заголовка, присвойте имена столбцов по умолчанию
columns = [f"Unnamed: {i}" for i in range(col_count + 1)]
# Шаг 9: Преобразуйте данные в DataFrame pandas
df = pd.DataFrame(output_data, columns=columns)
# Шаг 10: Выведите DataFrame
print(df)

Пример файла Excel для преобразования в DataFrame Pandas.
Output
Product A Product B Period
0 50 160 Q1
1 100 32 Q2
2 170 50 Q3
3 300 40 Q4
Преобразовать Excel в Pandas через JSON
Экспортируйте свой диапазон Excel в JSON с помощью
JsonUtility.exportrangetojson, а затем загрузите его в Pandas. См. пошаговое руководство: Convert Excel to Pandas DataFrame via JSON.
Конвертируйте Excel в Pandas через CSV
Конвертируйте ваш файл Excel в CSV, а затем загрузите его в Pandas. Следуйте пошаговому руководству: Convert Excel to Pandas DataFrame via CSV.
Получите бесплатную лицензию
Вы можете попробовать все функции Aspose.Cells for Python через .NET без ограничений, применив бесплатную временную лицензию. Пожалуйста, посетите страницу лицензии и получите бесплатную лицензию. Это позволяет вам оценить полный API, включая расширенные преобразования Excel в DataFrame.
Дополнительные бесплатные ресурсы
Изучите больше способов работы с файлами Excel в Python с помощью этих ресурсов, которые помогут вам выйти за пределы базовых преобразований и эффективно применять Aspose.Cells в реальных проектах.
- Aspose.Cells Официальная документация
- API Reference
- Бесплатные онлайн инструменты Excel
- Руководства и учебники для разработчиков
Заключение
Преобразование файлов Excel в DataFrames pandas становится простым и надежным с помощью Aspose.Cells for Python через .NET. Независимо от того, создаете ли вы новые таблицы или импортируете существующие, библиотека обеспечивает высококачественную передачу данных и полную поддержку форматов. Сочетая гибкость pandas с продвинутой обработкой Excel от Aspose.Cells, вы можете упростить обработку данных и открыть мощный анализ в Python.
Если у вас есть вопросы, посетите наш free support forum, и наша команда будет рада помочь вам.
