2
from openpyxl import load_workbook,workbook   
book = load_workbook('myfile.xlsx')
sheet = book.get_active_sheet()
for r in sheet.rows:
    for cell in r:
       firstname = cell.value(row=r, column='1')
       lastname = cell.value(row=r, column='2')
       print firstname, lastname

我想将当前行上的每个单元格值分配给一个单独的变量。当我尝试上面的代码时,我得到了错误:

TypeError:“unicode”对象不可调用

非常感谢任何帮助,谢谢。

4

1 回答 1

2

好的,所以我已经弄清楚了我在这里失败的地方,尽管我很尴尬地承认它!

当我检查我实际上试图输入 Openpyxl 的值时,错误很明显,“r”变量是一个充满数据的字符串,而不是一个整数。使用简单的“行数”,如..

rowcount = 0
for r in ws.rows:
    firstname = ws.cell(row = rowcount, column = 0)
    lastname = ws.cell(row = rowcount, column = 1)
    rowcount = rowcount + 1
    print firstname.value, lastname.value

似乎已经成功了。

于 2013-07-16T00:23:51.447 回答