我有一个包含约50列的csv文件,但我只需要其中的大约10列。我想从该csv文件中提取我需要的列到一个新的csv文件中。
这篇文章如何删除CSV文件中的列?中的最佳答案看起来正是我所需要的。
但是我需要每天都进行此操作,而生成大型CSV文件的系统可以按不同顺序导出列。因此,我需要能够按名称指定我需要的列,而不是按编号。
以下是CSV文件的示例:
我希望保留名称、描述和图像字段,但如果我使用以下代码(根据@S.Lott的帖子派生而来):
它只适用于第一个文件,而不是第二个文件。
这篇文章如何删除CSV文件中的列?中的最佳答案看起来正是我所需要的。
但是我需要每天都进行此操作,而生成大型CSV文件的系统可以按不同顺序导出列。因此,我需要能够按名称指定我需要的列,而不是按编号。
以下是CSV文件的示例:
File1.csv
name, description, cost, image, date
ABC, "super, mega", 12.87, ./imagefile, "12/11/2012 08:12"
File2.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]) )
它只适用于第一个文件,而不是第二个文件。