2017-05-20 198 views
1

因此,我使用Quandl API的股票數據,我想獲得上個月的收盤值列表。這裏是我的代碼:Quandl股票API的歷史數據

import quandl 
import datetime as dt 

quandl.ApiConfig.api_key = '8qNu5k13WLNT-6tRKj9M' 


today=dt.date.today() 
thirty_days=dt.timedelta(days=30) 

thirty_days_ago=today-thirty_days 



my_list=[] 

data = quandl.get("WIKI/AAPL", start_date=str(thirty_days_ago), end_date=str(today),column_index=4) 
print '=================================================' 
my_list.append(data) 
print my_list 

,輸出是:

================================================= 
[    Close 
Date     
2017-04-20 142.4400 
2017-04-21 142.2700 
2017-04-24 143.6400 
2017-04-25 144.5400 
2017-04-26 143.6508 
2017-04-27 143.7900 
2017-04-28 143.6500 
2017-05-01 146.6000 
2017-05-02 147.5100 
2017-05-03 147.0600 
2017-05-04 146.5300 
2017-05-05 148.9600 
2017-05-08 153.0000 
2017-05-09 153.9600 
2017-05-10 153.2600 
2017-05-11 153.9500 
2017-05-12 156.1000 
2017-05-15 155.7000 
2017-05-16 155.4700 
2017-05-17 150.2500 
2017-05-18 152.5400 
2017-05-19 152.9600] 

其中大部分是好的。但是,我無法將這些數據轉化爲我可以在圖表中繪製的東西。它在一個列表中,但是如果我打印my_list [0],它會打印整個東西,如果我打印my_list [1]它說它超出範圍。我知道該列表在技術上有一個元素,因爲沒有逗號,我只是想知道是否有辦法將其拆分(.split不起作用),直到我可以在列表中使用的每個收盤價格。 (IE [DATE1,價格1,DATE2,price2等])

回答

1

quandl回報熊貓DataFrame對象,它可以很容易地繪製,即:

import quandl 
import datetime as dt 
import matplotlib.pyplot as plt 

today=dt.date.today() 
thirty_days=dt.timedelta(days=30) 
thirty_days_ago=today-thirty_days 
data = quandl.get("WIKI/AAPL", start_date=str(thirty_days_ago), end_date=str(today),column_index=4) 
data.plot(); 
plt.show() 

如果需要,可以改變返回值到numpy array使用:

data = quandl.get("WIKI/AAPL", returns="numpy") 

我沒有看到一個新的列表的需要,刪除它,除非你已經爲它的一些強有力的理由。