【发布时间】:2021-06-14 07:21:41
【问题描述】:
我正在读取一个 csv 文件,如下所示:
| HEADER1 | HEADER2 |
|---|---|
| First | row1 |
| Second | row2 |
现在我需要根据我的inc_headers 检查它是否缺少任何“标题”,例如 HEADER1 或 HEADER2。
inc_headers = ['HEADER1','HEADER2','HEADER3']
def validatefields():
inc_missing = []
incident_reader = csv.DictReader(open(incident_path))
for line in incident_reader:
for field in inc_headers:
if line[field]:
pass
else:
inc_missing.append(field)
continue
break
在上面的示例中,我正在尝试查看 HEADER3 是否存在,它应该只是将 field 附加到 inc_missing 列表中。相反,程序因错误而中断。该程序完全崩溃,不再遵循else 或except 子句。我还尝试了下面的try 语法,它仍然会抛出错误。如何优雅地捕获此错误?
try:
x = line[field]
except:
....
【问题讨论】:
-
这不是“回溯错误”。 “回溯”是与错误相关的附加信息。你应该在这里展示它。
-
@mkrieger1 这表明我对新事物缺乏经验,我深表歉意。我来自 mf-rpgle
标签: python