我正在尝试将分隔文本文件读入 python 中的数据帧中。当我使用 时,分隔符未被识别pd.read_table。如果我明确设置sep = ' ',则会收到错误:Error tokenizing data. C error。值得注意的是,当我使用np.loadtxt().
例子:
pd.read_table('http://berkeleyearth.lbl.gov/auto/Global/Land_and_Ocean_complete.txt',
comment = '%',
header = None)
0
0 1850 1 -0.777 0.412 NaN NaN...
1 1850 2 -0.239 0.458 NaN NaN...
2 1850 3 -0.426 0.447 NaN NaN...
3 1850 4 -0.680 0.367 NaN NaN...
4 1850 5 -0.687 0.298 NaN NaN...
如果我设置 sep = ' ',则会收到另一个错误:
pd.read_table('http://berkeleyearth.lbl.gov/auto/Global/Land_and_Ocean_complete.txt',
comment = '%',
header = None,
sep = ' ')
ParserError: Error tokenizing data. C error: Expected 2 fields in line 78, saw 58
查找此错误,人们建议使用header = None
(已经完成)并sep =
显式设置,但这导致了问题:Python Pandas Error tokenizing data。我查看了第 78 行,没有发现任何问题。如果我设置,error_bad_lines=False
我会得到一个空的 df,表明每个条目都有问题。
值得注意的是,当我使用以下命令时,这会起作用np.loadtxt()
:
pd.DataFrame(np.loadtxt('http://berkeleyearth.lbl.gov/auto/Global/Land_and_Ocean_complete.txt',
comments = '%'))
0 1 2 3 4 5 6 7 8 9 10 11
0 1850.0 1.0 -0.777 0.412 NaN NaN NaN NaN NaN NaN NaN NaN
1 1850.0 2.0 -0.239 0.458 NaN NaN NaN NaN NaN NaN NaN NaN
2 1850.0 3.0 -0.426 0.447 NaN NaN NaN NaN NaN NaN NaN NaN
3 1850.0 4.0 -0.680 0.367 NaN NaN NaN NaN NaN NaN NaN NaN
4 1850.0 5.0 -0.687 0.298 NaN NaN NaN NaN NaN NaN NaN NaN
这对我来说表明文件没有问题,而是我调用的方式有问题pd.read_table()。我查看了文档,np.loadtxt()希望将 sep 设置为相同的值,但这只是显示:(delimiter=Nonehttps://numpy.org/doc/stable/reference/ generated /numpy.loadtxt.html )。
我希望能够将其导入为 apd.DataFrame并设置名称,而不是必须导入为 amatrix然后转换为pd.DataFrame.
我错了什么?
慕娘9325324
料青山看我应如是
相关分类