Pythoner
Фотография
✈️Сегодня решаем задачу, с которой часто сталкиваются аналитики данных: как объединить несколько CSV-файлов в один . Это полезно, если у вас есть данные, разбитые по дням, месяцам или категориям, и вы хотите собрать их в единый датасет для анализа.
➡️Задача: У нас есть несколько CSV-файлов (file1.csv, file2.csv, file3.csv), каждый из которых содержит данные с одинаковой структурой. Нужно объединить их в один файл.
➡️Решение:
import pandas as pd
import glob
# Шаг 1: Собираем все CSV-файлы из папки
files = glob.glob("data/*.csv") # Указываем путь к файлам
dfs = [pd.read_csv(file) for file in files] # Читаем каждый файл в DataFrame
# Шаг 2: Объединяем все DataFrame в один
combined_df = pd.concat(dfs, ignore_index=True)
# Шаг 3: Сохраняем результат в новый CSV-файл
combined_df.to_csv("combined_data.csv", index=False)
print("Все файлы успешно объединены!")
⬆️Как это работает:
- glob.glob("data/*.csv"): Находит все CSV-файлы в указанной папке.
- pd.read_csv(file): Читает каждый файл в DataFrame.
- pd.concat(dfs, ignore_index=True): Объединяет все DataFrame в один, игнорируя старые индексы.
- to_csv("combined_data.csv", index=False): Сохраняет объединённые данные в новый файл без дополнительного индекса.
💡Дополнительно:
Если файлы имеют разную структуру (например, разные столбцы), можно использовать параметр join="inner" или join="outer" в функции pd.concat().
join="inner": Оставит только общие столбцы.
join="outer": Включит все столбцы, заполняя пропуски значением NaN.
🐍 Pythoner
41 · 2.1K ·