OpePyXL에서는 load_workbook을 이용하여 엑셀 파일을 불러올 수 있다. 이번 포스팅에서는 load_workbook의 사용법과 특정 엑셀 시트를 불러오는 방법을 알아보려고 한다.
엑셀 파일과 시트 불러오기
1) 엑셀 파일 불러오기 : load_workbook
OpePyXL에서는 load_workbook을 이용하여 엑셀 파일을 불러올 수 있는데 그 사용법은 다음과 같다.
load_workbook( '엑셀 파일 경로' )
먼저 여기서 사용된 엑셀 파일(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 종료
'프로그래밍 > 엑셀(Excel)' 카테고리의 다른 글
[OpenPyXL] 6. 열(칼럼) 가로, 세로 길이(폭과 높이) 설정하기 (feat. width, height) (0) | 2022.10.03 |
---|---|
[OpenPyXL] 5. 셀 값 수정, 배경, 테두리, 폰트, 텍스트 정렬 설정하기 (feat. color (0) | 2022.10.03 |
[OpenPyXL] 3. 행, 열 고정하기 (feat. freeze_panes) (0) | 2022.10.02 |
[OpenPyXL] 2. Worksheet에 값 삽입(할당)하기 (feat. append, value) (2) | 2022.09.30 |
[OpenPyXL] 1. Workbook, Worksheet 생성 및 저장하기 (0) | 2022.09.29 |
댓글