私は2つのことで少し苦労しています:
その下でやるべきことの巨大なブロックがあり、
for row in reader
すべてが適切に実行されるかどうか心配です。長い命令ブロックについては迷信があるようです。どうすれば次の記録に進むのが最善なのか、あるいはそうしなければならないのかさえわかりません。エラー状態に達すると、その行は破棄ファイルに書き込まれるので、ループの「終了」まで待つことができます。しかし、「次のレコードをお願いします」と言うにはどうすればよいでしょうか。ループ
next()
の最後で明示的にする必要がありますか?for row...
ここでいくつかのガイダンスに感謝します。TC
with open('data.csv',rb) as f:
reader = csv.reader(f)
next(reader, None) # skip the header
for row in reader:
foo
foo
lots more foo
if bar1 == errorvalue1:
writediscard (row)
else:
if bar2 == errorvalue2:
writediscard (row)
else:
writegoodstufftothedatabase(data)
# in all cases, want to advance to the next record
私は以上であることに注意してdef writediscard
くださいwritegoodstufftothedatabase
。sqlitedb への書き込みとコミットを処理できます。この CSV を繰り返し処理することは別の話です。