4

Python は比較的新しいので、初心者の質問を許してください。ただし、Google は現時点では役に立ちません。

最初の行 (特にセル A2) を抽出する必要がある非常に大きな xlsx ファイルが 100 個あります。すべてをメモリに読み込まずにデータ ファイルを反復処理するopenpyxl というツールの宝石を見つけました。ジェネレーターを使用して、各呼び出しで関連する行を取得します

私が得られないのは、ループの外でジェネレーターを初期化する方法です。現在、私のコードは次のとおりです。

from openpyxl import load_workbook
wb = load_workbook(filename = "merged01.xlsx", use_iterators= True)
sheetName = wb.get_sheet_names()
ws = wb.get_sheet_by_name(name = sheetName[0])
row = ws.iter_rows() #row is a generator
for cell in row:
    break
print (cell[1].internal_value) # A2

しかし、これを行うには、次のようなより良い方法が必要です。

...
row = ws.iter_rows() #row is a generator
cell = row.first # line I'm trying to KISS
print (cell[1].internal_value) # A2
4

2 に答える 2

9
cell = next(row)

このnext関数は、任意の反復子から次の値を取得します。

于 2013-09-01T20:23:24.677 に答える
5

を探していnext()ます。

cell = next(row)
于 2013-09-01T20:23:41.900 に答える