Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用python从API提取表_Python_Api - Fatal编程技术网

无法使用python从API提取表

无法使用python从API提取表,python,api,Python,Api,我正在尝试使用API提取一个表,但我无法这样做。我很确定我没有正确使用它,任何帮助都将不胜感激 实际上,我正试图从这个API中提取一个表,但无法找到正确的方法。这就是网站上提到的。我想提取最新的完整数据表 这是我获取表格的代码,但我遇到错误: 导入urllib 导入请求 导入urllib.request 蝗虫api=‘api_密钥’ def蝗虫搜索(查询): api_key=蝗虫api url='1〕https://www.quandl.com/api/v3/databases/WIKI/me

我正在尝试使用API提取一个表,但我无法这样做。我很确定我没有正确使用它,任何帮助都将不胜感激

实际上,我正试图从这个API中提取一个表,但无法找到正确的方法。这就是网站上提到的。我想提取最新的完整数据表

这是我获取表格的代码,但我遇到错误:

导入urllib
导入请求
导入urllib.request
蝗虫api=‘api_密钥’
def蝗虫搜索(查询):
api_key=蝗虫api
url='1〕https://www.quandl.com/api/v3/databases/WIKI/metadata?api_key=“+api_键
response=urllib.request.urlopen(url.read())
json_obj=str(响应“utf-8”)
datanew=json.load(json_obj)
返回数据新建
当我打印(新数据)时。更新:即使我将其更改为返回新数据,错误仍然相同。 我得到以下错误:
没有定义名称“datanew”

我以前在urrlib上也遇到过同样的问题。如果可能的话,试着使用请求。在我看来,这是一个设计更好、工作更好的库。此外,它还能够通过单个函数读取JSON,因此无需通过多行示例代码运行它:

import requests

locu_api = 'api_Key'

def locu_search():
   url = 'https://www.quandl.com/api/v3/databases/WIKI/metadata?api_key=' + api_key
   return requests.get(url).json()

locu_search()
编辑: 您正在调用的终结点可能不是正确的终结点。我认为您正在寻找以下一个:

import requests

api_key = 'your_api_key_here'

def locu_search(dataset_code):
   url = f'https://www.quandl.com/api/v3/datasets/WIKI/{dataset_code}/metadata.json?api_key={api_key}'
   req = requests.get(url)
   return req.json()

data = locu_search("FB")

这将返回与公司有关的所有元数据。在这种情况下,Facebook。

可能不适用于您的特定问题,但我通常会做以下几点:

import requests

def get_values(url):
   response = requests.get(url).text
   values = json.loads(response)
   return values

你能补充更多信息吗?你想在哪里打印?我以前看到过打字错误(
responsen
vs
response
)。请更正格式。你失去了空间。也许
datanew
在函数内部(我不知道,没有缩进),您可以尝试在函数外部打印它。@snakecharmerb谢谢您提供的信息..我尝试过这样做。。错误仍然是一样的..@rysson谢谢你提供的信息。。我把应答改为应答。。错误是一样的。。。是,函数中有新数据。。如果我在外面,我会得到压痕error@Avi,现在我们可以看到代码了。下次请使用缩进。并查找@snakecharmerb评论。最好的解决方案是在Dániel Bencze答案中,使用它。您可以在底部添加
datanew=蝗虫搜索()
,然后打印。感谢您的时间和回复。但是,调用函数时仍然会出现错误:我使用了与您提供代码相同的方法,并将其添加到下一行result=蝗虫搜索(查询)打印(结果)。。这是错误名称“query”未定义在这种情况下,您需要在调用函数之前定义query变量,或者将其删除。我已经编辑了我的答案,使用了一个你可以构建的最简单的代码。我想这是我当时猜测的数据问题。。我仍然得到这个错误..JSONDecodeError:期望值:第1行第1列(字符0)是我得到的错误。。将接受答案并关闭。谢谢您的帮助!我还检查了一些东西。因此,请求返回字节,而不是带有500状态码的JSON。这意味着要么您正在调用的端点不存在,要么它们的API有问题。实际返回的消息是以下
b”错误-QEMx01:很抱歉,系统中出现意外错误。如果您仍然存在问题,请通过以下地址与我们联系:connect@quandl.com.“
我还为我的答案添加了一个新的解决方案。我相信您的错误只是因为调用了错误的url。@Xerox_04..感谢您的时间和回复,但我在调用函数时仍然收到错误。。结果=未定义获取值(值)打印(结果)名称“值”