所以我一直非常成功地使用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!
感谢您的帮助!
答案 0 :(得分:0)
不保证在字典中订购。
在字典上执行列表(d.keys())会以任意顺序返回字典中使用的所有键的列表(如果要对其进行排序,只需使用sorted(d.keys()))。
从排序的键中,您也可以显示其余的条目。
来源:https://docs.python.org/3/tutorial/datastructures.html?highlight=dictionary
对于第一次语法的错误记忆感到抱歉!