Pandas 读取带熊猫的制表符分隔字段,某些行包含多个制表符

Pandas 读取带熊猫的制表符分隔字段,某些行包含多个制表符,pandas,Pandas,我正在尝试使用Pandas读取一个标签分隔的txt文件。该文件如下所示: 14.3814.21 0.8951 5.386 3.312 2.462 4.956 1 14.69 14.49 0.8799 5.563 3.259 3.586 5.219 1 14.11 14.12 0.8911 5.422 3.302 2.723 5 1 有些行有额外的制表符。如果我使用read_csv或read_fwf,并指定sep='\t'。我得到的结果如下:d 0 15.26\t14.84\t0.871\

我正在尝试使用Pandas读取一个标签分隔的txt文件。该文件如下所示:

14.3814.21 0.8951 5.386 3.312 2.462 4.956 1
14.69 14.49 0.8799 5.563 3.259 3.586 5.219 1
14.11 14.12 0.8911 5.422 3.302 2.723 5 1
有些行有额外的制表符。如果我使用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>
015.26\t14.84\t0.871\t5.763\t3.312\t2.221\t5.22\t1
114.88\t14.57\t0.8811\t5.554\t3.333\t1.018\t4.9
对于我可以指定哪些参数来处理这些问题,您有什么建议吗?谢谢

解决方案:

如果我使用以下代码,请使用pd.read\u csv(文件名,delim\u whitespace=True)

import pandas as pd
parsed_csv_txt = pd.read_csv("tabbed.txt",sep="\t")
print(parsed_csv_txt)
import pandas as pd
parsed_csv_txt = pd.read_csv("tabbed.txt",delim_whitespace=True)
print(parsed_csv_txt)
在此文件中:

a   b   c   d   e
14.69   2452    982 234 12
14.11   5435    234     12
16.63   1       12  66
我得到:

       a     b      c      d   e
0  14.69  2452  982.0  234.0  12
1  14.11  5435  234.0    NaN  12
2  16.63     1    NaN   12.0  66
我们在这里看到的输出有什么问题吗

如果您想要不同的输出,例如:

       a     b    c    d     e
0  14.69  2452  982  234  12.0
1  14.11  5435  234   12   NaN
2  16.63     1   12   66   NaN
使用此代码:

import pandas as pd
parsed_csv_txt = pd.read_csv("tabbed.txt",sep="\t")
print(parsed_csv_txt)
import pandas as pd
parsed_csv_txt = pd.read_csv("tabbed.txt",delim_whitespace=True)
print(parsed_csv_txt)
注意


有关值之间的可变空白量主题的较长讨论,请查看此讨论:

Pandas read\u csv用途广泛,您可以将其与delim\u whitespace=True一起使用,以处理可变数量的空白

df = pd.read_csv(filename, delim_whitespace=True)
选项2:使用分隔符参数

df = pd.read_csv(filename, sep='\t+')

尝试读取csv(delim\u whitespace=True)我不知道问题出在哪里。当数据中有两个选项卡时,是否希望结果包含\t\t?另外,如果您将数据作为字符串而不是.png发布,我可以更轻松地调试。@Vaishali,非常感谢!真管用!