워크북에서 워크시트를 반복하는 방법, 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
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)
코드에 대한 활성 워크시트가 필요한 경우 다음과 같습니다.
for sheet in wb:
ws = wb[sheet]
print('Now in sheet: ' + ws.title)
워크북의 모든 시트 제목 인쇄하기
from openpyxl import load_workbook
wb = load_workbook(r"C:\Excel\LOOKUP_TABLES_edited.xlsx")
print(wb.sheetnames)
저는 전체 "워크북.active"에 대해 약간 어려움을 겪었고 어떻게 극복해야 할지 몰랐기 때문에 모든 것을 조금씩 시도해 보았습니다. 그리고 여기 제게 잘 맞는 것이 있습니다!
for sheet in workbook.sheetnames[2:len(workbook.sheetnames)]:
ws = workbook[value]
for val in ws.iter_rows(min_row=11, max_row=21, min_col=2, max_col=10, values_only=True):
print(str(sheet) + " " + str(val))
이렇게 하면 세 번째 시트로 시작하는 시트 이름이 인쇄됩니다. 제가 필요로 했던 것과 참조한 모든 셀 값이 인쇄됩니다.다른 유일한 점은 목록을 인쇄하는 것입니다. 각 값을 반복하여 "0" 또는 "없음" 값을 추출하려면 다른 루프가 필요합니다.이것이 다른 사람이 찾는 사람에게 도움이 되기를 바랍니다!
언급URL : https://stackoverflow.com/questions/18495672/how-to-iterate-over-worksheets-in-workbook-openpyxl
'source' 카테고리의 다른 글
iPhone 시뮬레이터에서 호스트 시스템 자체에 액세스하는 방법 (0) | 2023.06.04 |
---|---|
각 'when' 블록에 여러 값이 포함된 사례 문장 (0) | 2023.06.04 |
이클립스:동일한 편집기 탭을 사용하여 여러 검색에서 연 파일 (0) | 2023.06.04 |
jQuery Ajax 요청이 Internet Explorer에서 캐시되지 않도록 방지하는 방법은 무엇입니까? (0) | 2023.06.04 |
URI.escape와 CGI.escape의 차이점은 무엇입니까? (0) | 2023.06.04 |