迭代CSV文件时处理错误

时间:2019-07-03 21:05:36

标签: python csv

Python CSV模块已设置为迭代csv对象。数据干净时,这很容易。但是,如果您想捕获解析csv文件中错误行的错误,则会变得很复杂。有没有办法尝试:例外:处理错误而不会脱离for循环?

这是文档所说的:

import csv
with open('data.csv', mode='r') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        #do stuff

但是,如果在“行入阅读器”期间解析记录时发生错误,如何在不轰炸for循环的情况下捕获错误?

以下内容将捕获错误,但会杀死循环

import csv
with open('data.csv', mode='r') as csvfile:
    reader = csv.DictReader(csvfile)
    count = 0
    try:
        for row in reader:
            count += 1
            #do stuff
    except:
        print('had and error on record {:d}'.format(count+1) )

这是Python中经常出现的问题。必须有一种“ pythonic”方式来处理此类错误。

0 个答案:

没有答案