web-dev-qa-db-ja.com

openpyxlからシート名を取得する

適度に大きいxlsxファイル(約14 MB)があり、OpenOfficeがそれを開こうとしてハングします。私は openpyxl を使用してコンテンツを読み、 このチュートリアル を実行しようとしていました。コードスニペットは次のとおりです。

 from openpyxl import load_workbook
 wb = load_workbook(filename = 'large_file.xlsx', use_iterators = True)
 ws = wb.get_sheet_by_name(name = 'big_data') 

問題は、シート名がわからず、Sheet1/Sheet2。などが機能しなかった(返されたNoneTypeオブジェクト)ことです。 openpyxlを使用してxlsxファイルのシート名を取得する方法というドキュメントを見つけることができませんでした。誰も私を助けることができますか?

35
rivu

sheetnamesプロパティ を使用します。

シート名

このワークブック内のワークシートの名前のリストを返します。

名前はワークシートの順序で返されます。

タイプ:文字列のリスト

print (wb.sheetnames)

wb.worksheetsからワークシートオブジェクトを取得することもできます。

ws = wb.worksheets[0]
66
alecxe

python 3.xシート名を取得するには属性を使用する必要があります

g_sheet=wb.sheetnames

リストで戻る

for i in g_sheet:
    print(i)

**任意の名前を選択してください**

ws=wb[g_sheet[0]]

またはws = wb [任意の名前]名前シートがペースターであると想定

ws=wb["paster"]
0
ismail

前の回答で述べたように、ws.sheetnamesを使用してシート名のリストを取得できます

ただし、シート名がわかっている場合は、次の方法でそのワークシートオブジェクトを取得できます。

ws.get_sheet_by_name("YOUR_SHEET_NAME")

これを行う別の方法は、以前の回答で述べたとおりです

ws['YOUR_SHEET_NAME']
0
Kamaraj