Как читать несколько файлов Excel из папки в Python эффективно?

Как читать несколько файлов Excel из папки в Python эффективно?

Введение

Чтение нескольких файлов Excel — частая задача в области дата-анализа и интернет-маркетинга. Это может понадобиться для обработки отчетов о маркетинговых активностях, анализа данных пользователями или сводки статистических данных из нескольких источников. Современные подходы позволяют автоматизировать этот процесс и сделать его более эффективным.

Необходимые библиотеки

Python предоставляет множество библиотек для работы с данными, но для работы с Excel наиболее распространены pandas и openpyxl. Эти библиотеки позволяют легко загружать данные из Excel-файлов и обрабатывать их в виде удобных DataFrame.

Установка библиотек

Для начала установим необходимые библиотеки:

pip install pandas openpyxl

Чтение одиночного Excel файла

Для начала рассмотрим базовый случай: чтение одного Excel файла. Используя pandas, это можно сделать буквально в несколько строк кода.

Пример кода: Чтение одиночного файла

import pandas as pd

def read_excel_file(file_path: str) -> pd.DataFrame:
    """Читает Excel файл и возвращает его содержимое как DataFrame."""
    return pd.read_excel(file_path)

# Пример использования
file_path = 'example.xlsx'
data = read_excel_file(file_path)
print(data)

Чтение нескольких файлов из папки

Когда необходимо обработать несколько файлов Excel из одной директории, на помощь приходит метод glob для поиска всех файлов, соответствующих заданному шаблону.

Пример кода: Получение списка файлов

import glob
import os

def get_excel_files_from_folder(folder_path: str) -> list:
    """Возвращает список всех Excel файлов в папке."""
    return glob.glob(os.path.join(folder_path, '*.xlsx'))

# Пример использования
folder_path = 'my_excel_files'
files = get_excel_files_from_folder(folder_path)
print(files)

Эффективная обработка нескольких файлов

Теперь, когда мы можем получить список Excel файлов, следующий шаг — пройти по каждому из них, прочитать данные и объединить их в один DataFrame. Этот процесс автоматизируется с помощью циклов.

Пример кода: Чтение и объединение данных из нескольких файлов

import pandas as pd
import glob
import os

def read_multiple_excel_files(folder_path: str) -> pd.DataFrame:
    """Читает все Excel файлы из папки и объединяет их в один DataFrame."""
    all_data = []
    for file in glob.glob(os.path.join(folder_path, '*.xlsx')):
        df = pd.read_excel(file)
        all_data.append(df)
    return pd.concat(all_data, ignore_index=True)

# Пример использования:
fetched_data = read_multiple_excel_files('my_excel_files')
print(fetched_data)

Обработка данных после чтения

После объединения данных возникает необходимость их обработки: фильтрация, агрегация и другие операции. pandas предоставляет мощные инструменты для этих целей.

Пример кода: Фильтрация данных

# Фильтрация данных, где 'column_name' больше 10
filtered_data = fetched_data[fetched_data['column_name'] > 10]
print(filtered_data)

Выводы

Использование вышеописанных методов позволяет значительно упростить и автоматизировать процесс чтения и обработки данных из нескольких Excel файлов. Объединение данных в один DataFrame дает возможность эффективно анализировать и манипулировать информацией. Для более сложных задач можно добавлять различные возможности, такие как параллельная обработка файлов или более сложные методы агрегации.

Дополнительные ресурсы


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