我正在尝试使用Yahoo! Finance API使用Python收集当前股票报价,这是我特别陌生的语言。雅虎! Finance API似乎以.CSV文件的形式提供其数据,可以下载。
我想知道使用这些数据的最佳方法是什么?下载文件然后阅读它是否效率低下;有没有一种方法可以将它转换为JSON或XML文件,我可以使用urllib之类的东西进行解析?
我收到的.CSV是在下一页生成的,在本例中是Microsoft的引用(MSFT):
非常感谢提前。
答案 0 :(得分: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
答案 1 :(得分:1)
基于csv
模块和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'}
for循环中的row
是哈希表,很容易处理