2

我对 python 还是比较陌生,我在使用 Quandl api 时尝试读取/捕获/处理错误。

例如,如果我输入一个不存在的数据集,我想“读取”调用返回的错误,但作为 python 的新手,我不知道如何读取错误。API 文档 Quandl API显示了我希望能够处理的 HTTP 错误和 Quandl 错误。

这是一个失败的简单代码示例,我正在尝试读取/捕获/处理错误。

import pandas as pd
import Quandl as Q

df = Q.get("CME/PLZ2016")

Traceback 提供了有关错误的许多详细信息,然后在最后有此部分:

在处理上述异常的过程中,又出现了一个异常:

Traceback (most recent call last):  
   File "D:\PyProj\Quandl\WorkingSampleQuandlDownload.py", line 7, in <module>  
     df = Q.get(exchsymbol, trim_start=strstartdate)  
  File "D:\Python33\lib\Quandl\Quandl.py", line 124, in get  
    raise DatasetNotFound(error)  
Quandl.Quandl.DatasetNotFound: Dataset not found. Check Quandl code: CME/PLZ2016 for errors

如果我使用尝试/异常,我得到:找不到数据集。检查 Quandl 代码:CME/PLZ2016 是否有错误

所以,我想请你帮忙教我如何阅读/捕捉/处理来自 Quandl 的上述错误。希望我可以学习如何找出 Quandl 错误和 HTTP 状态。

提前致谢。

4

2 回答 2

3

您需要从 Quandl 导入 NotFoundError:

import pandas as pd
import Quandl as Q
from quandl.errors.quandl_error import NotFoundError 

try:
  df = Q.get("CME/PLZ2016")
except NotFoundError:
  print(NameError)
于 2016-11-01T19:37:34.157 回答
0

您需要先导入错误:

import Quandl as Q
from Quandl.Quandl import DatasetNotFound

try:
    df = Q.get("CME/PLZ2016")
except DatasetNotFound:
    # put your response code here
于 2016-02-12T16:40:19.347 回答