Pandas 读取带熊猫的制表符分隔字段,某些行包含多个制表符
我正在尝试使用Pandas读取一个标签分隔的txt文件。该文件如下所示: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\
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,非常感谢!真管用!