我有一个包含大约 50 列的 csv 文件,但我只需要其中大约 10 列。我希望能够从该 csv 文件中提取所需的列到新的 csv 文件中。
这篇文章的最佳答案如何删除 CSV 文件中的列?看起来它会完全满足我的需要。
但这是我每天都需要做的事情,生成大 CSV 文件的系统可以按不同的顺序导出列。因此,我需要能够通过名称而不是数字来指定我需要的列。
以下是 CSV 文件的指示:
文件1.csv
name, description, cost, image, date
ABC, "super, mega", 12.87, ./imagefile, "12/11/2012 08:12"
文件2.csv
name, cost, date, description, image
SYZ, 43.98, "16/11/2012 09:16", "Some text, and such", ./image2.jpeg
我只想保留名称、描述和图像字段,但是如果我使用代码(从上面的帖子派生而来)@S.Lott):
import csv
with open("source","rb") as source:
rdr= csv.reader( source )
with open("result","wb") as result:
wtr= csv.writer( result )
for r in rdr:
wtr.writerow( (r[0], r[1], r[3]) )
它仅适用于第一个文件,不适用于第二个文件。