我在两件事上有点挣扎:
我有很多事情要做
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 进行迭代是另一回事。