2013-08-22 39 views
-1

在昨天的问题,Taking out bits of CSVs,我试图找出如何用read_table用StringIO和凌乱的文件

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 
+0

可能重复(http://stackoverflow.com/questions/18344887/take-out-bits-of-csvs) –

+0

我认为这个问题是在数据进入时处理的。我的问题主要集中在获取数据。更一般地说,它是关于读取不规则文件:不同的分隔符,空行和需要填写的内容R. – julieth

+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 S和头衔,我认为在其他的答案中描述:[取出的CSV位]的

df.dropna()