从csv中删除列结果错误

时间:2013-04-02 16:28:00

标签: csv python-2.7

尝试删除csv文件中除'fruit'以外的所有列。

脚本我从本网站的其他帖子修改了

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。

1 个答案:

答案 0 :(得分:3)

您需要为writerow()提供一个列表:

wtr.writerow([r[1]])

writerow()需要序列,这是有序的。列表是序列,但字符串也是如此;字符串可以被索引,迭代等等。通过仅传入r[1],您可以给.writerow()一系列单独的字符,每个字符都写成一个单独的列。