我有一个没有标题的要读取的文本文件。 我指定了参数
header=None
这很好。
我正在使用以下语句读取文件
pd.read_csv(fname, '\t', header=None, quotechar=None, quoting=3)
所以,我正在使用制表符分隔符。
以下是示例文件
a b c
a b c
a b c
以上文件已正确读取。 但是其中一些文件如下所示
a
a b c
a b c
a b c
此文件的错误如下
pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 3
无法跳过第一行来解决问题,因为我们不确定第二个赞的格式是否正确。最主要的是如何指定所需的列数。
我知道我们无法填写不可用的值。
但是,如果仅跳过第一行,也许我会如何指定csv阅读器中的列数,以使其不会与第一行中的错误混淆呢?也许第二行也有问题。
谢谢
欢呼
答案 0 :(得分:1)
names参数使诀窍:
df = pd.read_csv(fname, '\t', header=None, names=['A', 'B', 'C'])
返回:
A B C
0 a NaN NaN
1 a b c
2 a b c
3 a b c
答案 1 :(得分:0)
您可以尝试指定分隔符是制表符,每个缺失的值都将填充NaN
:
d=pd.read_csv('test.csv',sep='\t', header=None)
并获得:
0 1 2
0 a NaN NaN
1 a b c
2 a b c
3 a b c