Skip to main content
 首页 » 编程设计

python之在 python 中删除选定的 csv 列

2025年05月04日17myhome

我有一个包含以下字符串的变量:

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)