pandas.io.data get_data_yahoo ^ DJI检索错误

时间:2013-04-03 00:47:20

标签: pandas

我在Snow Leopard中使用Python 2.7.3,目前(2013年4月2日)最新版本的pandas 0.10.1

我正在尝试使用pandas Yahoo finance API来获取股票价值(查询中的日期在这里并不重要)。

这有效:

import pandas.io.data as web 

GOOG = web.get_data_yahoo('GOOG', '8/19/2004')

import pandas.io.data as web

DJI = web.get_data_yahoo('^DJI', '8/19/2004')

^似乎是问题所在。雅虎财务用%5E或@%5E取代^。我试过直接替换这些没有成功。我也从2个月前发现了this commit,这似乎在第232行解决了这个问题。我看了一下我自己的pandas / io / data.py并且它不太相同而且没有提到这个是问题。

是否有使用API​​的简单解决方案?

我想我可以自己使用Beautiful Soup或其他东西并将结果塞进DataFrame但我更喜欢找到一种方法来使用API​​,因为它保持干净并且工作已经完成。

1 个答案:

答案 0 :(得分:0)

我认为问题是缺少数据来源。例如,GOOG的来源是http://ichart.yahoo.com/table.csv?s=GOOG,似乎没问题。此外,一些带有“^”的符号也可以使用,例如,http://ichart.yahoo.com/table.csv?s=%5ETWII也可以。但是,http://ichart.yahoo.com/table.csv?s=%5EDJI不起作用。请注意,“^”将编码为%5e

而且,链接被破坏了什么?你可以找到一些答案here