У меня есть количество CSV-файлов с различным количеством столбцов. Большинство CSV-файлов имеют ширину 4 столбца и считываются и объединяются. Однако, когда он встречает файлы, которые превышают 4 столбца, сценарий выдает ошибку.
Я получаю следующее сообщение об ошибке: Error tokenizing data. C error: Expected 4 fields in line 125, saw 8.
Если я рефакторинг кода (ниже), чтобы включить error_bad_lines=False
для pd.read_csv
, код завершает и выводит комбинированный CSV, который включает в себя только строки, которые содержат 4 столбца.
Как я могу решить эту ошибку и объединить все? Там нет индексов, поэтому мне просто нужно разместить информацию о csv друг над другом.
Большое спасибо
import os
import glob
import pandas as pd
all_filenames = [
# think this is working correctly with bunch of replies.csv extensions
i for i in glob.glob('C:\\Users\\tkim1\\Python Scripts\\output\\*\\replies.csv')
]
print(all_filenames)
# combine all files in the list
combined_csv = pd.concat([
pd.read_csv(f, error_bad_lines=False) for f in all_filenames
], sort=False)
# export to csv
combined_csv.to_csv("combined_replies.csv", index=False, encoding='utf-8-sig')