0

我正在尝试使用 Yahoo! 使用 Python 收集当前股票报价的 Finance API,这是我特别陌生的一种语言。雅虎!Finance API 似乎以可以下载的 .CSV 文件的形式提供他们的数据。

我想知道使用这些数据的最佳方法是什么?下载文件再阅读效率低吗?有没有一种方法可以将其转换为我可以使用 urllib 之类的东西解析的 JSON 或 XML 文件?

我得到的 .CSV 正在以下页面上生成,在这种情况下是 Microsoft (MSFT) 的报价:

http://finance.yahoo.com/d/quotes.csv?s=MSFT&f=snl1

提前谢谢了。

4

2 回答 2

3

Python 有一个内置csv模块。

http://docs.python.org/library/csv.html

要回答您的下载问题:

file = r"http://finance.yahoo.com/d/quotes.csv?s=MSFT&f=snl1"

import urllib
text = urllib.urlopen(file).read()

>>> print text 
... "MSFT","Microsoft Corpora",29.51
于 2012-10-16T00:47:29.010 回答
1

基于csvmodule and DictReader,urlopen后解析数据会更容易,我重用了上面来自@kreativitea的代码

import csv
import urllib

file = r"http://finance.yahoo.com/d/quotes.csv?s=MSFT&f=snl1"

quotefile = urllib.urlopen(file)
fieldheaders = ["abbr","name","index"]
reader = csv.DictReader(quotefile,fieldnames=fieldheaders)

for row in reader:
    print row

结果是

$ quote.py
{'index': '29.51', 'abbr': 'MSFT', 'name': 'Microsoft Corpora'}

in for 循环是row哈希表,处理起来比较方便

于 2012-10-16T09:17:54.077 回答