使用 Pandas 读取制表符分隔的字段,某些行具有多个制表符

Yin*_* G. 2 pandas

我正在尝试使用 Pandas 读取制表符分隔的 txt 文件。该文件如下所示:

数据文件样本

14.38   14.21   0.8951  5.386   3.312   2.462   4.956   1<p>
14.69   14.49   0.8799  5.563   3.259   3.586   5.219   1<p>
14.11   14.12   0.8911  5.422   3.302   2.723  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   &nbsp;&nbsp;&nbsp;       5        1<p>
Run Code Online (Sandbox Code Playgroud)

有些行有额外的标签。如果我使用 read_csv 或 read_fwf,并指定 sep='\t'。我得到的结果是这样的:

d

0   15.26\t14.84\t0.871\t5.763\t3.312\t2.221\t5.22\t1<p>
1   14.88\t14.57\t0.8811\t5.554\t3.333\t1.018\t4.9 <p>
Run Code Online (Sandbox Code Playgroud)

对于我可以指定哪些参数来处理这个问题,您有什么建议吗?谢谢。

解决方案:

使用 pd.read_csv(filename, delim_whitespace=True)

Vai*_*ali 5

Pandas read_csv 非常通用,您可以将它与 delim_whitespace = True 一起使用来处理可变数量的空格。

df = pd.read_csv(filename, delim_whitespace=True)
Run Code Online (Sandbox Code Playgroud)

选项 2:使用分隔符参数

df = pd.read_csv(filename, sep='\t+')
Run Code Online (Sandbox Code Playgroud)