read_table with stringIO和messy file

时间:2013-08-22 14:45:08

标签: pandas

在昨天的一个问题Taking out bits of CSVs中,我试图弄清楚如何阅读一些

的文本。
df = pd.read_table(StringIO(raw),header=0,skiprows=2,sep=",") 

我无法让这个工作。有什么建议?这是再次粘贴的数据。感谢。

header, header   
header, header                           
NUMBER,ITEM
N1,Shoe
N2,Heel
N3,Tee, random stuff
N4,Polo, random stuff
N5,Sneaker
N10,Heel
N11,Tee
...
...
...

How         
Count   17      
SORT,NAME       
H1,Thing, random stuff   
H2,WTANK        
H3,TEE2  
H4,TEE

1 个答案:

答案 0 :(得分:1)

您可以关闭warn_bad_lineserror_bad_lines

In [11]: df = pd.read_table(StringIO(raw),header=0,skiprows=2,sep=",", warn_bad_lines=False, error_bad_lines=False)

In [12]: df
Out[12]: 
              NUMBER           ITEM
0                 N1           Shoe
1                 N2           Heel
2                 N5        Sneaker
3                N10           Heel
4                N11            Tee
5                ...            NaN
6                ...            NaN
7                ...            NaN
8       How                     NaN
9   Count   17                  NaN
10              SORT    NAME       
11                H2  WTANK        
12                H3         TEE2  
13                H4            TEE

注意:我认为我的原始字符串在较差的复制和粘贴作业中有一些额外的空格。

然后你可以删除NaN和标题,我认为在另一个答案中描述了这些标题:

df.dropna()