我正在尝试做的是通过将雅虎财经的股票价格放入电子表格中来使这行代码工作。我问了很多人,我已经研究了这个问题,但我还没有得到它的工作。
这是代码的麻烦行:
ws.cell(1,i+1).value = str.replace(price','price')
我收到错误之类的错误,“replace”需要一个“str”对象,但每次我修改它时收到一个“list”或“int”对象都没有属性。提前感谢您的帮助。
from openpyxl import Workbook
import urllib
import re
from openpyxl.cell import get_column_letter
wb = Workbook()
dest_filename = r'empty_book.xlsx'
ws = wb.create_sheet()
ws.title = 'Stocks'
symbolslist = ["aapl","spy","goog","nflx"]
i=0
while i<len(symbolslist):
#counts each object as 1 in the list
url = "http://finance.yahoo.com/q?s="+symbolslist[i]+"&q1=1"
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()
regex = '<span id="yfs_l84_'+symbolslist[i]+'">(.+?)</span>'
pattern = re.compile(regex)
price = re.findall(pattern,htmltext)
print "The price of", symbolslist[i], " is ", price
ws.cell(1,i+1).value = str.replace(price','price')
i+=1
wb.save(filename = dest_filename)
导入 CSV 模块比使用 Excel 进行数据分析更好,因为它是开源友好的。