Рубрики
Без рубрики

Как объединить несколько файлов CSV с 8 линиями кода

Автор оригинала: Ekapope Viriyakovithya.

зачем вам это?

Вручную копирование вручную в порядке, если у вас нет слишком много файлов для работы.

Но представьте, что если у вас 100+ файлов для ConcateNate – вы готовы сделать это вручную? Делать эту повторяющуюся, утомительно и ошибка.

Если все файлы имеют одинаковую структуру таблицы (такие же заголовки и количество столбцов), пусть этот крошечный Питонский скрипт выполнять работу.

Шаг 1: Импортируйте пакеты и установите рабочий каталог

Измените «/mydir» в желаемый рабочий каталог.

import os
import glob
import pandas as pd
os.chdir("/mydir")

Шаг 2: Используйте все, чтобы соответствовать шаблону «CSV»

Сопоставьте шаблон («CSV») и сохраните список имен файлов в переменной «ALL_FILENAMES». Вы можете проверить Эта ссылка Чтобы узнать больше о регулярных согласовании выражения.

extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]

Шаг 3: Объедините все файлы в списке и экспортируйте как CSV

Используйте Pands для объединения всех файлов в списке и экспортируйте в качестве CSV. Выходной файл называется «Combined_csv.csv», расположенный в вашем рабочем каталоге.

#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')

Кодировка добавлена для преодоления проблемы при экспорте «неанглийских» языков.

И … это сделано!

Эта статья была вдохновлена моей фактической повседневной проблемой, а структура кодирования из обсуждения на Stackoverflow Отказ Завершенный скрипт для этого как – это Документировано на Github Отказ

Спасибо за чтение. Пожалуйста, попробуйте, повеселиться и дайте мне знать ваши отзывы!

Если вам понравится то, что я сделал, подумайте о том, чтобы следовать за мной Github , Средний и Twitter Отказ Убедитесь, что чтобы звездить на Github