Файлы 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:

  1. Создайте экземпляр класса Workbook.
  2. Получите доступ к первому листу и его ячейкам.
  3. Добавьте значения в ячейки рабочего листа.
  4. Extract rows and headers.
  5. Преобразуйте извлеченные данные в 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:

  1. Откройте существующий файл Excel, используя класс Workbook.
  2. Выберите рабочий лист по имени или индексу.
  3. Прочитайте все строки и столбцы.
  4. Extract headers if available.
  5. Преобразуйте результат в 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

Пример файла 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 в реальных проектах.

Заключение

Преобразование файлов Excel в DataFrames pandas становится простым и надежным с помощью Aspose.Cells for Python через .NET. Независимо от того, создаете ли вы новые таблицы или импортируете существующие, библиотека обеспечивает высококачественную передачу данных и полную поддержку форматов. Сочетая гибкость pandas с продвинутой обработкой Excel от Aspose.Cells, вы можете упростить обработку данных и открыть мощный анализ в Python.

Если у вас есть вопросы, посетите наш free support forum, и наша команда будет рада помочь вам.

Смотрите также