работает следующая последовательность команд (я теряю первую строку данных -no header = None присутствует-, но по крайней мере она загружается):
df = pd.read_csv(filename,
usecols=range(0, 42))
df.columns = ['YR', 'MO', 'DAY', 'HR', 'MIN', 'SEC', 'HUND',
'ERROR', 'RECTYPE', 'LANE', 'SPEED', 'CLASS',
'LENGTH', 'GVW', 'ESAL', 'W1', 'S1', 'W2', 'S2',
'W3', 'S3', 'W4', 'S4', 'W5', 'S5', 'W6', 'S6',
'W7', 'S7', 'W8', 'S8', 'W9', 'S9', 'W10', 'S10',
'W11', 'S11', 'W12', 'S12', 'W13', 'S13', 'W14']
Следующее НЕ работает:
df = pd.read_csv(filename,
names=['YR', 'MO', 'DAY', 'HR', 'MIN', 'SEC', 'HUND',
'ERROR', 'RECTYPE', 'LANE', 'SPEED', 'CLASS',
'LENGTH', 'GVW', 'ESAL', 'W1', 'S1', 'W2', 'S2',
'W3', 'S3', 'W4', 'S4', 'W5', 'S5', 'W6', 'S6',
'W7', 'S7', 'W8', 'S8', 'W9', 'S9', 'W10', 'S10',
'W11', 'S11', 'W12', 'S12', 'W13', 'S13', 'W14'],
usecols=range(0, 42))
CParserError: Ошибка токенизации данных. Ошибка C: Ожидается 53 поля в строке 1605634, пила 54 Следующее НЕ работает:
df = pd.read_csv(filename,
header=None)
CParserError: Ошибка токенизации данных. Ошибка C: ожидается 53 поля в строке 1605634, видел 54
Следовательно, в вашей проблеме вы должны пройти usecols=range(0, 2)
pandas.to_csv(), МОЖЕТ быть, потому что в именах столбцов есть '\ r', и в этом случае to_csv () фактически записывает последующие имена столбцов в первый столбец фрейма данных, вызывая разница между количеством столбцов в первых X строках. Эта разница является одной из причин ошибки C.