2013-04-02 48 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]''。 –