У меня есть каталог, который содержит несколько файлов большого размера с различными расширениями:
file1.csv
file2.csv
text_file.txt
text_file2.txt
json_file.json
json_file2.json
...
Моя цель - объединить все файлы в три группы в зависимости от их расширения. Скрипту не нужно объединять все за один прогон, я могу изменить расширение и запустить скрипт 3 раза. Основная цель - объединить все файлы определенного типа (скажем, .csv) в одну категорию. Я нашел этот скрипт в stackoverflow, но он выдает мне ошибки:
import os
import glob
import pandas as pd
os.chdir("/Users/user/Desktop")
extension = 'csv'
all_filenames = [i for i in glob.glob(f'*.{extension}')]
#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')
Код выдает мне эту ошибку:
File "pandas/_libs/parsers.pyx", line 543, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
Другая сторона вопроса была бы с точки зрения эффективности памяти, когда я должен начать объединять файлы построчно, а не весь файл.