2013-08-22 37 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()