我有一个包含大约 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]) )
它仅适用于第一个文件,而不适用于第二个文件。