約 50 列を含む csv ファイルがありますが、必要なのは約 10 列だけです。その csv ファイルから必要な列を新しい csv ファイルに抽出できるようにしたいと考えています。
この投稿の一番の答え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]) )
最初のファイルでのみ機能し、2 番目のファイルでは機能しません。