Я часто сталкиваюсь с ошибкой типа
>> dd.read_csv('/tmp/*.csv', parse_dates=['start_time', 'end_time'])
Traceback (most recent call last):
...
File "/Users/brettnaul/venvs/model37/lib/python3.6/site-packages/dask/dataframe/io/csv.py", line 163, in coerce_dtypes
raise ValueError(msg)
ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.
The following columns failed to properly parse as dates:
- start_time
- end_time
This is usually due to an invalid value in that column. To
diagnose and fix it's recommended to drop these columns from the
`parse_dates` keyword, and manually convert them to dates later
using `dd.to_datetime`.
Ясно, что один из моих файлов не отформатирован, но какой? Лучшее решение, которое я придумала до сих пор:
- Перезапустить ту же команду в IPython
- % отладочной магии
- распечатать образец исходного CSV-текста на консоль
- найти бит уникального текста и grep, пока я не выясню проблемный файл
Это кажется мне очень окольным, но если я не упустил что-то очевидное, не похоже, что в трассировке есть какая-то другая идентифицирующая информация. Есть ли лучший способ выяснить, какой файл не удается? Использование collection=False
и проверка объектов Delayed
также могут работать, но я не совсем уверен, что искать. Есть ли способ, чтобы возникшее исключение могло включать какой-то намек на то, где возникла проблема, или эта информация недоступна после вызова read_csv
?