为什么运行脚本时会出现“KeyError:‘data’”错误?
2022-02-24
1034
我正在使用 Tableau Prep Builder 运行一个 Python 脚本,该脚本从名为 Supermetrics 的数据连接器中提取 API。我正在密切关注他们的教程,该教程位于 此处 。当我运行脚本时,我收到此消息:
System error: Something went wrong when running the script. Verify that there are no errors in the script, then try again. KeyError : 'data'
这是脚本:
import requests
import pandas as pd
def get_data_to_flow(input):
response = requests.get("[PLACEHOLDER FOR YOUR API LINK]")
results = response.json()
return pd.DataFrame(results['data'][1:], columns=results['data'][0])
脚本最初可以正常工作,但第二天运行后,我开始看到此错误。我完全按照教程操作,并使用了可以正常工作的 API 链接。这个错误是什么意思?我该如何修复它?
1个回答
因为
results
(一个字典)不包含键
data
。您没有检查 API 是否返回有效数据。
如果 API 返回错误,则在响应上调用
raise_for_status()
以获取错误。
除此之外,也许没有错误,并且自上次使用以来返回的数据的形状发生了变化?
import requests
import pandas as pd
def get_data_to_flow(input):
response = requests.get("[PLACEHOLDER FOR YOUR API LINK]")
response.raise_for_status()
results = response.json()
data = results['data']
return pd.DataFrame(data[1:], columns=data[0])
AKX
2022-02-24