我有一个包含以下字符串的变量:
fruit_wanted = 'banana,apple'
我还有一个csv文件
fruit,'orange','grape','banana','mango','apple','strawberry'
number,1,2,3,4,5,6
value,3,2,2,4,2,1
price,3,2,1,2,3,4
现在如何删除“fruit”未列在“fruit_wanted”变量中的列?
这样输出文件看起来像
fruit,'banana','apple'
number,3,5
value,2,2
price,1,3
谢谢。
请您参考如下方法:
使用 DictReader() class 读取 csv 文件,并忽略您不想要的列:
fruit_wanted = ['fruit'] + ["'%s'" % f for f in fruit_wanted.split(',')]
outfile = csv.DictWriter(open(outputfile, 'wb'), fieldnames=fruit_wanted)
fruit_wanted = set(fruit_wanted)
for row in csv.DictReader(open(inputfile, 'rb')):
row = {k: row[k] for k in row if k in fruit_wanted}
outfile.writerow(row)
