【发布时间】:2015-07-23 23:12:39
【问题描述】:
我正在尝试从 API 中提取数据,并且我希望收到 KeyError 和 IndexError,因此我使用 try/except 函数来捕获它们。我首先创建一个项目列表,我将循环访问这些项目以从 API 响应中提取信息。然后我创建了一个数据框来存储有关没有错误的项目的信息。
l= ["a","b","c","d"]
def extract_info_from_one_response(response, idx):
try:
response = response.json()
d = {
### some codes ##
}
## ERROR MANAGEMENT
except KeyError,e:
print idx, l[idx], str(e)
return {}
except IndexError,e:
print idx, l[idx], str(e)
return {}
dat = pd.DataFrame([extract_info_from_one_response(response, idx) for idx, response in enumerate(responses)], index=l)
当发生错误时,Python 会打印出 [1] 有问题的项目的索引、[2] 项目的名称和 [3] 发生的错误的详细信息。如何保存/捕获这三个输出,将它们保存到对象中或使用这 3 条信息创建数据框?
【问题讨论】:
标签: python list dictionary error-handling keyerror