我编写了这个脚本,使用ystockquote master来获取Yahoo财务API的价格和市值。它非常简单,在我的电脑上运行良好,但是当我试图在我的朋友mac上使用它时,我得到了一个错误。这是一个很长的一个,所以我会张贴在最后。我一直在努力寻找到底发生了什么事,所以我转向这里。背景:从初学者到新手。下面是我的代码片段:
try:
# py3
from urllib.request import Request, urlopen
from urllib.parse import urlencode
except ImportError:
# py2
from urllib2 import Request, urlopen
from urllib import urlencode
def _request(symbol, stat):
url = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (symbol, stat)
req = Request(url)
resp = urlopen(req)
return str(resp.read().decode('utf-8').strip())
def get_price(symbol):
return _request(symbol, 'l1')
def get_market_cap(symbol):
return _request(symbol, 'j1')
i = 0
while i<len(NewSymbolsList):
results = open("intermediateresults.csv", "a")
api = [get_price(NewSymbolsList[i]),get_market_cap(NewSymbolsList[i])]
api = re.sub("\[\'|\'|\]", "", str(api))
results.write(str(NewSymbolsList[i]) +"," +str(api) +"\n")
print NewSymbolsList[i], api
i+=1
results.close()
以下是我在朋友Mac上看到的错误:
^{pr2}$显示我如何准备要迭代的列表的编辑(我猜是相当标准的,但我认为这可能有帮助):
symbols = open("symbolslist.txt")
readsymbols = symbols.read()
NewSymbolsList = readsymbols.split("\n")
好吧,我们来试试这个。我怀疑所面临的问题与源文件中的空白有关(可能是流氓?)。作为补充说明,我介绍了两个with子句上下文管理器,以说明它们用于文件处理的用法。在
在我的电脑上,打印:
^{pr2}$相关问题 更多 >
编程相关推荐