1

我有一个使用 openpyxl 的 iter_rows 函数解析的数据电子表格。但是,当我使用以下方法遍历工作表时:

range_expr = "{col}{startrow}:{col}{endrow}".format(col='C',startrow=4,endrow=ws.get_highest_row()+1)

for row in ws.iter_rows(range_string=range_expr):
    print row
    if len(row) > 0:
        cell = row[0]
        if str(cell.value).isdigit():
            address.append(cell.value)
        else:
            continue
print address
raw_input("enter to continue")

第 3 行只是吐出空括号,这意味着第一个 if 语句将始终评估为 false,并且不会将任何值附加到地址。我感到困惑的是print row,当excel文档中有数据时,为什么什么都不做。提前谢谢大家。

4

1 回答 1

0

我把事情复杂化了,把它简化为这个。非常感谢 Python 聊天室中的 notbad.jpg:

range_expr = 'C:C'

for row in ws.iter_rows(row_offset=4):
    '''do things'''
于 2012-06-22T14:06:41.127 回答