我有一个文本文件,其中前80行用制表符分隔,这是我在文件中唯一需要的行。我通常会这样打开文件:
df=pd.read_csv(r'file.txt', sep='\t')
但这返回错误:
CParserError: Error tokenizing data. C error: Expected 7 fields in line 84, saw 81
因为沿途某处不再是制表符分隔的对象,我很确定。如果我手动删除文件中除前80行之外的所有内容,则可以设置制表符分隔符,它的显示效果很好,但是我需要对许多文件进行此操作。我知道我只能使用此方法选择前80个:
df=df.iloc[:80,:]
但是然后我的数据框有
\t
分隔每一列,而不是像我想要的空格。有没有一种方法在打开文件时仅选择前80行,这样我就可以设置sep='\t'
而不会出现错误? 最佳答案
您可以指定使用参数nrows
仅读取前80行:
df=pd.read_csv(r'file.txt', sep='\t', nrows=80)