1

我在 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')

^ 似乎是问题所在。Yahoo Finance 将 ^ 替换为 %5E 或 @%5E。我试过直接替换这些但没有成功。我还发现了 2 个月前的这个提交,它似乎在第 232 行解决了这个问题。我查看了我自己的 pandas/io/data.py ,它并不完全相同,它没有提到这是问题。

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

我想我可以自己使用 Beautiful Soup 或其他东西并将结果塞进 aDataFrame但我更愿意找到一种使用 API 的方法,因为它可以保持清洁并且工作已经完成。

4

1 回答 1

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

还有,什么链接坏了?或许你可以在这里找到一些答案

于 2013-04-03T02:18:38.103 回答