Python迭代地写入Excel

时间:2013-10-05 22:21:07

标签: python excel

我正在尝试将代码写入Excel中的单元格A1A2A3A4。但是,当我使用它时,我收到此错误消息

  

无效的单元格坐标(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。

2 个答案:

答案 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