Quandl数据,API来电
Quandl data, API call
最近我正在阅读 Quandl 中的一些股票价格数据库,使用 API 调用来提取数据。但我真的对我的例子感到困惑。
import requests
api_url = 'https://www.quandl.com/api/v1/datasets/WIKI/%s.json' % stock
session = requests.Session()
session.mount('http://', requests.adapters.HTTPAdapter(max_retries=3))
raw_data = session.get(api_url)
谁能给我解释一下?
1) 对于 api_url,如果我复制该网页,它会显示 404 未找到。那么如果我想使用其他数据库,我该如何准备这个api_usl? “% 库存”是什么意思?
2)这里的request好像是用来提取数据的,raw_data的格式是什么?我怎么知道列名?如何提取列?
扩展我上面的评论:
% stock
是字符串格式化操作,将前面字符串中的%s
替换为stock
引用的值。可以找到更多详细信息 here
raw_data
实际上引用了一个 Response 对象(requests
模块的一部分 - 找到了详细信息 here
扩展您的代码。
import requests
#Set the stock we are interested in, AAPL is Apple stock code
stock = 'AAPL'
#Your code
api_url = 'https://www.quandl.com/api/v1/datasets/WIKI/%s.json' % stock
session = requests.Session()
session.mount('http://', requests.adapters.HTTPAdapter(max_retries=3))
raw_data = session.get(api_url)
# Probably want to check that requests.Response is 200 - OK here
# to make sure we got the content successfully.
# requests.Response has a function to return json file as python dict
aapl_stock = raw_data.json()
# We can then look at the keys to see what we have access to
aapl_stock.keys()
# column_names Seems to be describing the individual data points
aapl_stock['column_names']
# A big list of data, lets just look at the first ten points...
aapl_stock['data'][0:10]
编辑以回答评论中的问题
所以 aapl_stock[column_names]
显示 Date
和 Open
分别作为第一个和第二个值。这意味着它们对应于数据每个元素中的位置 0
和 1
。
因此要访问日期使用 aapl_stock['data'][0:10][0]
(前十项的日期值)并访问开放使用的值 aapl_stock['data'][0:78][1]
(前 78 项的开放值).
要获取数据集中每个值的列表,其中每个元素都是一个包含 Date 和 Open 值的列表,您可以添加类似 aapl_date_open = aapl_stock['data'][:][0:1]
.
的内容
如果您是 python 的新手,我强烈建议您查看列表切片符号,可以找到快速介绍 here
最近我正在阅读 Quandl 中的一些股票价格数据库,使用 API 调用来提取数据。但我真的对我的例子感到困惑。
import requests
api_url = 'https://www.quandl.com/api/v1/datasets/WIKI/%s.json' % stock
session = requests.Session()
session.mount('http://', requests.adapters.HTTPAdapter(max_retries=3))
raw_data = session.get(api_url)
谁能给我解释一下?
1) 对于 api_url,如果我复制该网页,它会显示 404 未找到。那么如果我想使用其他数据库,我该如何准备这个api_usl? “% 库存”是什么意思?
2)这里的request好像是用来提取数据的,raw_data的格式是什么?我怎么知道列名?如何提取列?
扩展我上面的评论:
% stock
是字符串格式化操作,将前面字符串中的%s
替换为stock
引用的值。可以找到更多详细信息 hereraw_data
实际上引用了一个 Response 对象(requests
模块的一部分 - 找到了详细信息 here
扩展您的代码。
import requests
#Set the stock we are interested in, AAPL is Apple stock code
stock = 'AAPL'
#Your code
api_url = 'https://www.quandl.com/api/v1/datasets/WIKI/%s.json' % stock
session = requests.Session()
session.mount('http://', requests.adapters.HTTPAdapter(max_retries=3))
raw_data = session.get(api_url)
# Probably want to check that requests.Response is 200 - OK here
# to make sure we got the content successfully.
# requests.Response has a function to return json file as python dict
aapl_stock = raw_data.json()
# We can then look at the keys to see what we have access to
aapl_stock.keys()
# column_names Seems to be describing the individual data points
aapl_stock['column_names']
# A big list of data, lets just look at the first ten points...
aapl_stock['data'][0:10]
编辑以回答评论中的问题
所以 aapl_stock[column_names]
显示 Date
和 Open
分别作为第一个和第二个值。这意味着它们对应于数据每个元素中的位置 0
和 1
。
因此要访问日期使用 aapl_stock['data'][0:10][0]
(前十项的日期值)并访问开放使用的值 aapl_stock['data'][0:78][1]
(前 78 项的开放值).
要获取数据集中每个值的列表,其中每个元素都是一个包含 Date 和 Open 值的列表,您可以添加类似 aapl_date_open = aapl_stock['data'][:][0:1]
.
如果您是 python 的新手,我强烈建议您查看列表切片符号,可以找到快速介绍 here