본문 바로가기

코딩/파이썬과 엑셀

[Python] openpyxl로 엑셀 파일 처리 004. load_workbook 함수로 엑셀 파일 불러오기

▶ load_workbook 함수로 엑셀 파일 불러오기

python : openpyxl : 엑셀 파일 불러오기

 

함수 load_workbook을 이용하면 저장되어 있는 엑셀 파일을 불러와 원하는 처리를 진행할 수 있다.

 

함수 load_workbook은 openpyxl.reader.excel 모듈 내에 정의되어 있다.

 

openpyxl.reader.excel.load_workbook(filename,
                                    read_only=False,
                                    keep_vba=False,
                                    data_only=False,
                                    keep_links=True)

 

참고로 load_workbook이 소문자 'l'로 시작하는 이유는 Workbook 클래스와는 다르게  함수이기 때문이라 생각된다.

load_workbook( )

함수 load_workbook은 파일의 경로를 입력받고, Workbook 객체를 반환한다.

 

아래의 코드는 파이썬 코드와 동일한 위치에 엑셀 파일 'sample.xlsx'가 존재함을 전제로 한다.

 

# python 3.9.5
# openpyxl 3.0.7

from openpyxl import load_workbook

workbook = load_workbook('sample.xlsx')

for ws_title in workbook.sheetnames:
    print(ws_title)

workbook.close()

 

만약 엑셀 파일 'sample.xlsx'의 시트 구성이 아래와 같다면 코드를 실행한 결과는,

 

엑셀 파일 sample.xlsx의 시트 구성

 

아래와 같이 두 개의 시트 이름이 출력된다.

 

시트 이름 출력 결과

불어온 엑셀 파일 저장하기

load_workbook으로 불러온 엑셀 파일은 원하는 작업 후 Workbook 클래스의 save 메서드를 이용해 동일한 이름 또는 다른 이름으로 저장할 수 있다.

 

아래의 코드는 동일한 이름으로 엑셀 파일 저장하는 예를 보여준다.

 

# python 3.9.5
# openpyxl 3.0.7

from openpyxl import load_workbook

workbook = load_workbook('sample.xlsx')

worksheet = workbook['Return Worksheet']
worksheet['A2'].value = 'python openpyxl'

workbook.save('sample.xlsx')
workbook.close()

 

불러온 엑셀 파일 저장

참고

2021.05.26 - [학습 노트/Python - 별도 라이브러리] - [Python] openpyxl로 엑셀 파일 처리 001. 새 엑셀 파일 생성 및 저장

2021.05.27 - [학습 노트/Python - 별도 라이브러리] - [Python] openpyxl로 엑셀 파일 처리 002. 시트(sheet) 이름 확인 및 새로 추가