Как читать данные из файла Excel на Python с помощью цикла?

Работа с данными из файлов Excel — это неотъемлемая часть анализа данных в любой сфере, будь то маркетинг, финансы или наука. В этот обзор мы разберем популярные библиотеки для работы с Excel в Python, такие как pandas и openpyxl, и научимся читать данные из Excel-файлов с помощью циклов.

Подготовка окружения

Установка необходимых библиотек

Для начала работы нам понадобятся библиотеки pandas и openpyxl. Установим их с помощью pip:

pip install pandas openpyxl

Создание тестового файла Excel

Для создания тестового файла Excel воспользуемся библиотекой openpyxl. Сначала создадим простой Excel-файл с данными для анализа:

from openpyxl import Workbook

# Создаем новый Workbook и активируем первый sheet
wb = Workbook()
ws = wb.active

# Заполняем данными
data = [
    ["Name", "Age", "City"],
    ["Alice", 30, "New York"],
    ["Bob", 25, "Los Angeles"],
    ["Charlie", 35, "Chicago"]
]

for row in data:
    ws.append(row)

# Сохраняем в файл
wb.save("testdata.xlsx")

Чтение данных из Excel с помощью pandas

Импорт библиотеки и чтение файла

Библиотека pandas делает процесс чтения Excel-файлов чрезвычайно простым. Вот как можно это сделать:

import pandas as pd

# Читаем Excel файл
df = pd.read_excel("testdata.xlsx")

# Выводим DataFrame для проверки
print(df)

Обработка данных и работа с DataFrame

DataFrame — это мощная структура данных в pandas, которая предоставляет множество возможностей для обработки данных. Рассмотрим некоторые из них:

# Фильтрация данных (выбираем всех, кто старше 30)
filtered_df = df[df["Age"] > 30]

# Агрегация данных (считаем средний возраст)
average_age = df["Age"].mean()

print("Filtered DataFrame:\n", filtered_df)
print(f"Average Age: {average_age:.2f}")

Чтение данных из Excel с помощью openpyxl

Импорт библиотеки и чтение файла построчно

openpyxl предоставляет более низкоуровневый доступ к данным и позволяет читать их построчно, что может быть полезно в определенных сценариях:

Реклама
from openpyxl import load_workbook

# Загружаем Excel файл
wb = load_workbook(filename="testdata.xlsx")
ws = wb.active

# Читаем данные построчно
for row in ws.iter_rows(values_only=True):
    print(row)

Обработка данных в цикле

Теперь, обработаем данные в цикле, используя возможности openpyxl:

# Пропускаем заголовок
for row in ws.iter_rows(min_row=2, values_only=True):
    name, age, city = row
    if age > 30:
        print(f"{name} from {city} is older than 30")

Сравнение методов чтения данных

Оба метода — pandas и openpyxl — имеют свои плюсы и минусы.

pandas:

  • Плюсы: Высокоуровневая абстракция, мощные инструменты для анализа данных, простота использования.
  • Минусы: Потребляет больше памяти, не всегда оптимален для чтения больших файлов.

openpyxl:

  • Плюсы: Гибкость, низкое потребление памяти, подходит для больших файлов.
  • Минусы: Требует большего количества кода, менее интуитивен.

Практические примеры применения

Анализ маркетинговых данных

Пример использования pandas для анализа маркетинговых данных:

# Пример анализа данных
marketing_data = pd.read_excel("marketing_data.xlsx")

# Считаем ROI для каждой кампании
marketing_data["ROI"] = (marketing_data["Revenue"] - marketing_data["Cost"]) / marketing_data["Cost"]

# Выбираем топ-5 самых рентабельных кампаний
top_campaigns = marketing_data.nlargest(5, "ROI")

print(top_campaigns)

Заключение

Умение читать и обрабатывать данные из Excel-файлов — это важный навык для любого аналитика данных. Мы рассмотрели основные методы работы с такими файлами с помощью библиотек pandas и openpyxl. В дальнейшем углубленное изучение этих инструментов позволит вам уверенно справляться с более сложными задачами.

Ресурсы

Теперь, когда вы знакомы с основами работы с данными Excel в Python, вы можете применять эти знания в своих проектах и задачах.


Добавить комментарий