如何使用Pandas导入API数据?
How to import API data using Pandas?
我正在尝试从 EIA API 中提取一些数据,以下是我尝试过的方法,但我在第一行代码中遇到错误:
AttributeError: 'str' object has no attribute 'text'
如有任何帮助,我们将不胜感激!
call_eia = requests.get = 'https://api.eia.gov/v2/nuclear-outages/facility-nuclear-outages/data?api_key=XXXXXXXX'
data_eia=pd.read_csv(StringIO(call_eia.text))
您还没有从 API 请求任何东西。仔细看你的第一行:
call_eia = requests.get = 'https://api.eia.gov/v2/nuclear-outages/facility-nuclear-outages/data?api_key=XXXXXXXX'
# ^ ^
有 2 个 =
符号,所以您真正要做的是将 URL 字符串分配给您的 call_eia
变量和 get
属性requests
模块,覆盖原来的功能。然后,当您尝试将 call_eia
传递给 pd.read_csv()
时,您传递的不是 requests
对象,而是传递字符串 URL.
尝试
call_eia = requests.get('https://api.eia.gov/v2/nuclear-outages/facility-nuclear-outages/data?api_key=XXXXXXXX')
相反,您的代码应该可以工作。
我正在尝试从 EIA API 中提取一些数据,以下是我尝试过的方法,但我在第一行代码中遇到错误:
AttributeError: 'str' object has no attribute 'text'
如有任何帮助,我们将不胜感激!
call_eia = requests.get = 'https://api.eia.gov/v2/nuclear-outages/facility-nuclear-outages/data?api_key=XXXXXXXX'
data_eia=pd.read_csv(StringIO(call_eia.text))
您还没有从 API 请求任何东西。仔细看你的第一行:
call_eia = requests.get = 'https://api.eia.gov/v2/nuclear-outages/facility-nuclear-outages/data?api_key=XXXXXXXX'
# ^ ^
有 2 个 =
符号,所以您真正要做的是将 URL 字符串分配给您的 call_eia
变量和 get
属性requests
模块,覆盖原来的功能。然后,当您尝试将 call_eia
传递给 pd.read_csv()
时,您传递的不是 requests
对象,而是传递字符串 URL.
尝试
call_eia = requests.get('https://api.eia.gov/v2/nuclear-outages/facility-nuclear-outages/data?api_key=XXXXXXXX')
相反,您的代码应该可以工作。