Python Для L oop Отладка в Spyder - PullRequest
0 голосов
/ 16 апреля 2020

Я написал код python, чтобы объединить множество маленьких .csv файлов в один большой файл Excel. Код работает нормально, но время от времени мошеннический файл .csv в неправильном формате вызывает cra sh. Я подумал, что мог бы использовать функцию отладчика в Spyder, чтобы легко идентифицировать хитрый CSV-файл, но, увы, он не указан в окне обозревателя переменных. Я просто хотел бы узнать значение 'f' в приведенном ниже коде при сбое программы:

combined_csv = pd.concat([pd.read_csv(f, skiprows=[0,1,2], header=None) for f in all_filenames])

Поэтому я попытался заменить строку на:

for f in all_filenames:
    combined_csv = pd.concat(pd.read_csv(f, skiprows=[0,1,2], header=None))

А теперь получение ошибки (TypeError: первый аргумент должен быть итерируемым из pandas объектов, вы передали объект типа «DataFrame») при первом его вызове, так что, я думаю, я не сделал это правильно?

1 Ответ

0 голосов
/ 17 апреля 2020

Использование l oop вместо списка в конечном итоге привело к тому, что я нашел поврежденные файлы:

dflist = []
for f in all_filenames:
    df = pd.read_csv(f, skiprows=[0,1,2], header=None)
    dflist.append(df)
combined_csv = pd.concat(dflist)
...