programing

openpyxl에서 시트 이름 가져오기

telebox 2023. 4. 22. 09:17
반응형

openpyxl에서 시트 이름 가져오기

중간 크기의 xlsx 파일(약 14MB)이 있는데 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 파일의 시트 이름을 얻는 방법을 설명하는 문서를 찾을 수 없었습니다.누가 나를 도와줄 수 있나요?

속성 사용:

시트명

이 워크북의 워크시트 이름 목록을 반환합니다.

이름은 워크시트 순서로 반환됩니다.

유형: 문자열 목록

print (wb.sheetnames)

워크시트 개체는 다음에서 가져올 수도 있습니다.wb.worksheets:

ws = wb.worksheets[0]

다른 답변에 대한 보충 자료로 특정 워크시트에 대해 cf 문서를 생성자 매개 변수에 사용할 수도 있습니다.

ws.title

python 3.x 시트 이름을 가져오려면 속성을 사용해야 합니다.

g_sheet=wb.sheetnames

목록으로 반환하다

for i in g_sheet:
    print(i)

** 임의의 이름 표시 **

ws=wb[g_sheet[0]]

또는 ws=module[임의] 네임시트가 페이스터라고 가정합니다.

ws=wb["paster"]

이전 답변에서 언급한 바와 같이 시트 이름 목록은ws.sheetnames

그러나 시트 이름을 알고 있으면 다음 방법으로 워크시트 개체를 얻을 수 있습니다.

ws.get_sheet_by_name("YOUR_SHEET_NAME")

이를 위한 또 다른 방법은 이전 답변에서 언급한 바와 같습니다.

ws['YOUR_SHEET_NAME']
for worksheet in workbook:
    print(worksheet.name)

언급URL : https://stackoverflow.com/questions/23527887/getting-sheet-names-from-openpyxl

반응형