以下命令序列有效(我丢失了数据的第一行-no header = None present-,但至少已加载):
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错误:在1605634行中应有53个字段,看到54个以下内容无效:
df = pd.read_csv(filename,
header=None)
CParserError:标记数据时出错。C错误:在1605634行中预期有53个字段,看到了54
因此,在您的问题中,您必须通过 usecols=range(0, 2)
pandas.to_csv()
,则可能是因为列名中有一个'\ r',在这种情况下,to_csv()实际上会将随后的列名写入数据帧的第一列,从而导致前X行中的列数之差。这种差异是导致C错误的原因之一。