我正在尝试使用Yahoo!金融API使用Python收集当前股票报价,这是我特别熟悉的一种语言。雅虎! Finance API似乎以可以下载的.CSV文件的形式提供他们的数据。应该如何使用Python从.CSV文件收集数据?
我想知道使用这些数据的最佳方式是什么?下载文件并读取文件效率不高,有没有一种方法可以将它转换为JSON或XML文件,我可以使用类似urllib的东西解析?
正在以下页面上生成我得到该.csv,在这种情况下,微软(MSFT)的报价:
提前非常感谢。
我正在尝试使用Yahoo!金融API使用Python收集当前股票报价,这是我特别熟悉的一种语言。雅虎! Finance API似乎以可以下载的.CSV文件的形式提供他们的数据。应该如何使用Python从.CSV文件收集数据?
我想知道使用这些数据的最佳方式是什么?下载文件并读取文件效率不高,有没有一种方法可以将它转换为JSON或XML文件,我可以使用类似urllib的东西解析?
正在以下页面上生成我得到该.csv,在这种情况下,微软(MSFT)的报价:
提前非常感谢。
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
基于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'}
在row
for循环是哈希表,这是很容易对付
好主意 - 谢谢! – zch
谢谢你的快速解答!我会阅读该文档。 – zch
只需访问Yahoo链接,Python能自动下载csv文件吗? – zch
@zch course.use [urllib](http://docs.python.org/library/urllib.html) – iMom0