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 に答える