web-dev-qa-db-ja.com

ブック内のワークシートを反復処理する方法、openpyxl

私はopenpyxlモジュールを使用して、いくつかの.xlsxファイルに対していくつかの処理を行ってきました。ブック内のシートを反復処理する方法を見つけようとしています。私はそれを理解できるかどうかわかりません。以下の2つのコードを試しましたが、どちらも空の結果を返します。私の.xlsxファイルには約20枚のシートがあるので、何かが返されるはずです。

インターネットで見つけられなかったのは、ワークブックを実際のワークブックに設定する方法です。通常はワークブックに書き込んでいるので、変数を空のワークブックworkbook = Workbook()に設定して初期化しますが、この場合、workbook = Workbook(r"C:\Excel\LOOKUP_TABLES_edited.xlsx")を実行してワークブックを開くことができるかどうかわかりません。

私が間違っていることを誰かが特定できれば、それをいただければ幸いです。

これが私のコードです:

workbook = Workbook(r"C:\Excel\LOOKUP_TABLES_edited.xlsx")

for sheet in workbook.worksheets:
    print sheet

# or

for sheet in workbook.worksheets:
    print sheet.title
11
Mike

load_workbook() を介してブックを開き、worksheetsを繰り返します。

from openpyxl import load_workbook

wb = load_workbook(r"C:\Excel\LOOKUP_TABLES_edited.xlsx")

for sheet in wb.worksheets:
    print sheet
17
alecxe

コードにアクティブなワークシートが必要な場合は次のとおりです

for sheet in wb:
    ws = wb[sheet]
    print('Now in sheet: ' + ws.title)
0
Tony S

ブック内のすべてのシートのタイトルを印刷するには:

from openpyxl import load_workbook

wb = load_workbook(r"C:\Excel\LOOKUP_TABLES_edited.xlsx")
print(wb.sheetnames)
0
kashaziz