본문 바로가기
프로그래밍/엑셀(Excel)

[OpenPyXL] 4. 엑셀 파일과 시트 불러오기 (feat. load_workbook)

by 부자 꽁냥이 2022. 10. 2.

OpePyXL에서는 load_workbook을 이용하여 엑셀 파일을 불러올 수 있다. 이번 포스팅에서는 load_workbook의 사용법과 특정 엑셀 시트를 불러오는 방법을 알아보려고 한다.


   엑셀 파일과 시트 불러오기

1) 엑셀 파일 불러오기 : load_workbook

OpePyXL에서는 load_workbook을 이용하여 엑셀 파일을 불러올 수 있는데 그 사용법은 다음과 같다.


load_workbook( '엑셀 파일 경로' )


먼저 여기서 사용된 엑셀 파일(sample_04.xlsx)은 다음과 같다.

 

sample_04.xlsx

이제 코드를 통하여 엑셀 파일을 불러오자. 이때 active를 통하여 첫 번째 시트를 가져왔다. 또한 Worksheet 객체에 셀 주소를 각 괄호 '[ ]'에 넣은 상태에서 value를 이용하여 셀 값을 가져올 수 있다.

 

from openpyxl import load_workbook

wb = load_workbook('sample_04.xlsx', 
                   read_only=False, ## 읽기 전용(읽기 전용에 최적화되어 파일을 불러온다)
                   data_only=False, ## False면 셀안 공식을 가져오고 True면 공식 적용된 값만을 불러온다.
                  )
ws = wb.active ## 첫 번째 시트
print(ws['E4'].value)
wb.close() ## Workbook 종료

 

 

load_workbook의 read_only는 읽기 전용으로 불러올 것인지를 정하는 인자이고 data_only는 True인 경우 셀 공식이 적용된 결과값을 가져오고 False인 경우 셀 공식을 가져오게 된다. 위에서는 data_only를 False로 지정했으므로 아래 그림의 빨간 박스에 있는 셀 E4의 공식을 가져온다.

 

 

아래 코드는 data_only=True로 한 경우이다.

wb = load_workbook('sample_04.xlsx', 
                   read_only=False, ## 읽기 전용(읽기 전용에 최적화되어 파일을 불러온다)
                   data_only=True, ## False면 셀안 공식을 가져오고 True면 공식 적용된 값만을 불러온다.
                  )
ws = wb.active ## 첫 시트
print(ws['E4'].value)
wb.close() ## Workbook 종료

 

코드를 실행하면 셀 공식이 아닌 결과 값을 출력한다.


2) 엑셀 시트 접근하기

엑셀 시트는 Workbook 객체에 시트 이름을 넣어주는 방식으로 접근할 수 있다. 이때 sheetnames 필드를 이용하여 Workbook 객체가 갖고 있는 모든 시트명을 알 수 있다.


wb[ '시트 명' ]


 

아래 코드는 모든 시트를 돌면서 셀 B1의 값을 출력하는 코드이다.

 

wb = load_workbook('sample_04.xlsx', 
                   read_only=False, ## 읽기 전용(읽기 전용에 최적화되어 파일을 불러온다)
                   data_only=True, ## False면 셀안 공식을 가져오고 True면 공식 적용된 값만을 불러온다.
                  )

print(wb.sheetnames) ## 엑셀 파일이 갖고 있는 모든 시트명 출력

for sn in wb.sheetnames:
    ws = wb[sn] ## 각 괄호를 이용하여 접근 가능하다.
    print(ws['B1'].value) ## 해당 시트의 셀 B1값 출력
wb.close() ## Workbook 종료

 


댓글


맨 위로