我正在尝试将代码写入Excel中的单元格A1
,A2
,A3
和A4
。但是,当我使用它时,我收到此错误消息
无效的单元格坐标(A)
'A'保持不变,但'i'随每次重复而变化。我如何解决第27行的问题?我想让Python接受“A”作为列引用。
这是第27行:
ws.cell('A',i).value = "The price of", symbolslist[i], " is ", price"
和我的整个Python脚本:
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 = "The price of" + symbolslist[i] + " is " + price
i+=1
wb.save(filename = dest_filename)
我也使用此作为reference,来自openpyxl。
答案 0 :(得分:2)
修改强> 的
第一遍你的i = 0,但没有零列。此外,我认为单元格正在寻找行索引,这是一个不是字符'A'的数字。
ws.cell(1,i+1).value = "The price of" + symbolslist[i] + " is " + price
答案 1 :(得分:0)
使用ws.cell()。值不正确。我有错误说'int'对象没有属性'replace',但在我将行更改为以下后,错误消失了: ws.cell(row = 1,column = i + 1).value =“”+ str(symbolslist [i])+“的价格是”+ str(价格)
顺便说一句,我使用的是Python 2.7和最新版本的openpyxl