2013-04-02 65 views
0

試圖從csv文件中刪除除'fruit'以外的所有列。從csv結果中刪除colums錯誤

腳本我從另一個修改後在本網站

import csv 
with open("C:\\Test\\source.csv","rb") as source: 
    rdr= csv.reader(source) 
    with open("C:\\Test\\result.csv","wb") as result: 
     wtr= csv.writer(result) 
     for r in rdr: 
      wtr.writerow(r[1]) 

source.csv

ID,fruit,number,location 
0,apple,2,3 
1,banana,1,1 
2,pear,2,3 
3,grape,0,1 

結果我:

f,r,u,i,t 
a,p,p,l,e 
b,a,n,a,n,a 
p,e,a,r 
g,r,a,p,e 

預期的效果

fruit 
apple 
banana 
pear 
grape 

關於如何擺脫逗號的任何想法?我正在使用Python 2.7。

回答

3

你需要給writerow()列表:

wtr.writerow([r[1]]) 

writerow()需要一個序列,一些訂購。列表是序列,但字符串也是一樣;字符串可以編入索引,迭代等。通過傳入r[1],您可以給.writerow()指定一個單獨的字符序列,每個字符都寫爲一個單獨的列。

+0

謝謝。我知道這很簡單。仍然試圖讓我的頭爲什麼r [1]輸出逗號和[r [1]]沒有。你可以指向我的任何鏈接都會在這個概念上有更多的細節?如果我不明白,不能真正學習。 – user12059

+1

@ user12059:在python解釋器中鍵入'list('somestring')'。或''somestring [0]''。 –