3

私がやろうとしているのは、csv ドキュメントを読み込んで、SN 列のすべての値を見つけて 20 を超え、SN が 20 を超える行のみを含む新しいファイルを作成することです。

私はする必要があることを知っています:

  1. 元のファイルを読む
  2. 新しいファイルを開く
  3. 元のファイルの行を反復処理する

私ができることは、SN > 20 の値を持つ行を見つけることです

import csv
import os

os.chdir("C:\Users\Robert\Documents\qwe")

with open("gdweights_feh_robert_cmr.csv",'rb') as f:
    reader = csv.reader(f, delimiter= ',')
    zerovar = 0
    for row in reader:
        if zerovar==0:
            zerovar = zerovar + 1
        else:
            sn = row [11]
            zerovar = zerovar + 1
            x = float(sn)
            if x > 20:
                print x

私の質問は、SN > 20 の行を取得して新しいファイルに変換するにはどうすればよいですか?

4

2 に答える 2

3

データをリストに保存してから、リストをファイルに書き込みます。

import csv
import os

os.chdir(r"C:\Users\Robert\Documents\qwe")

output_ary = []
with open("gdweights_feh_robert_cmr.csv",'rb') as f:
    reader = csv.reader(f, delimiter= ',')
    zerovar = 0
    for row in reader:
        if zerovar==0:
            zerovar = zerovar + 1
        else:
            sn = row [11]
            zerovar = zerovar + 1
            x = float(sn)
            if x > 20:
                print x
                output_ary.append(row)

with open("output.csv",'w') as f2:
    for row in output_ary:
        for item in row:
            f2.write(item + ",")
于 2013-04-09T01:09:00.383 に答える