ystockquote历史数据顺序错误?
我一直在使用ystockquote,效果还不错,但遇到了一点小问题。
当我获取某只股票的历史数据时,它会生成一个字典,里面有正确的信息,但字典里的日期顺序却是错的?
这是我的代码:
import ystockquote
import matplotlib.pyplot as plt
ticker = "YHOO"
stock_exchange = ystockquote.get_stock_exchange(ticker)
change = ystockquote.get_change(ticker)
price = ystockquote.get_price(ticker)
market_cap = ystockquote.get_market_cap(ticker)
_52_week_high = ystockquote.get_52_week_high(ticker)
_52_week_low = ystockquote.get_52_week_low(ticker)
avg_volume = ystockquote.get_avg_daily_volume(ticker)
volume = ystockquote.get_volume(ticker)
print (ticker + " (" + change + ") ")
print (stock_exchange.strip('"'))
print ("Share Price: " + price)
print ("Market Cap: " + market_cap)
print ("52 Week High/Low: " + _52_week_high + "/" + _52_week_low)
print ("Trading Volume: " + volume)
print ("Average Trading Volume(3m): " + avg_volume)
historic_prices = ystockquote.get_historical_prices(ticker, '2014-10-01', '2014-10-15')
for x in historic_prices:
print(x)
这是它生成的结果:
YHOO (+0.20)
NasdaqNM
Share Price: 45.63
Market Cap: 44.672B
52 Week High/Low: 46.15/32.06
Trading Volume: 16209593
Average Trading Volume(3m): 34564400
2014-10-01
2014-10-14
2014-10-02
2014-10-13
2014-10-10
2014-10-09
2014-10-08
2014-10-15
2014-10-03
2014-10-07
2014-10-06
你可以看到,历史价格字典里的日期顺序不对?我知道有些空缺是因为周末的原因,但获取到的日期顺序还是错的?我哪里出错了?我在网上看到很多人用这个方法,日期顺序都是对的!
我用的是Python 3.4!
谢谢你的帮助!
1 个回答
0
在字典中,顺序是没有保证的。
如果你对一个字典使用 list(d.keys()),它会返回一个包含字典中所有键的列表,但顺序是随机的(如果你想要按顺序排列,可以用 sorted(d.keys()) 来代替)。
从排序后的键中,你也可以显示出其他的内容。
来源: https://docs.python.org/3/tutorial/datastructures.html?highlight=dictionary
抱歉第一次记错了语法!