소개
openpyxl은 Excel 2010의 xlsx/xlsm/xltx/xltm 형식 파일을 읽고 쓸 수 있는 파이썬(Python) 라이브러리입니다.
이 라이브러리는 기존에 Office Open XML 형식을 파이썬에서 네이티브하게 읽고 쓸 수 있는 라이브러리가 없다는 점에서 탄생했습니다.
작업에 사용하는 엑셀 파일을 워크북(Workbook)이라고 부르며, 하나의 워크북에는 최소 한 개에서 수십 개까지의 시트(Sheet)가 포함될 수 있습니다.
각 시트는 1부터 시작하는 행(row)과 A부터 시작하는 열(column)로 구성됩니다.
openpyxl 라이브러리를 활용하면 시트 추가, 데이터 입력뿐만 아니라 데이터 조작 및 삭제까지 다양한 작업을 수행할 수 있습니다.
이제 기본 개념을 알았으니 본격적으로 시작해 보겠습니다.
설치 및 시작하기
openpyxl은 파이썬에 기본으로 포함되어 있지 않으므로, PIP 패키지 관리자를 통해 직접 다운로드하고 설치해야 합니다. 터미널을 실행한 후 아래 명령어를 입력하세요.
pip install openpyxl
라이브러리 설치가 완료되면, 엑셀 파일 작업을 위해 필요한 모듈들을 임포트해야 합니다.
먼저 openpyxl 라이브러리에서 Workbook 모듈을 임포트해 보겠습니다.
from openpyxl import Workbook
필요한 임포트를 마쳤다면, 이제 Workbook 모듈을 사용해 엑셀 시트에 데이터를 생성하고 저장할 준비가 되었습니다.
엑셀 파일에 데이터 생성하고 저장하기
먼저 Workbook() 클래스의 인스턴스를 생성합니다.
wb = Workbook()
다음으로 시트를 생성합니다.
sheet = wb.active
이제 데이터를 입력할 차례입니다.
sheet['A1'] = "Hello" sheet['A2'] = "World!" sheet['A3'] = 41.80 sheet['A4'] = 10
내용을 추가했다면, 이제 파일을 저장하고 결과를 확인해 보겠습니다.
wb.save("example.xlsx")실행 결과
A1, B1 같은 셀 주소 대신 행과 열 좌표를 사용해서도 값을 입력할 수 있습니다.
sheet.cell(row=2, column=2).value = 5
위 코드는 B2 셀에 숫자 5를 입력합니다.
엑셀 파일에서 데이터 읽기
엑셀 파일에 데이터를 쓰는 방법을 익혔으니, 이번에는 엑셀 파일에서 데이터를 읽어오는 방법을 알아보겠습니다.
이 경우에는 Workbook 모듈을 따로 임포트할 필요 없이 openpyxl만 임포트하면 됩니다.
import openpyxl
파일을 읽으려면 먼저 리더(reader)에게 해당 파일의 위치를 지정해 주어야 합니다.
wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.active위 코드로 엑셀 파일이 로드되며, 이제 파일에서 데이터를 읽을 수 있습니다.
temp1 = sheet['A1'] temp2 = sheet['B1'] temp3 = sheet.cell(row = 3, column = 1) temp4 = sheet.cell(row = 4, column = 1) print(temp1.value, temp2.value, temp3.value, temp4.value)
실행 결과
Hello World! 41.8 10
전체 예제 코드
from openpyxl import Workbook
import openpyxl
wb = Workbook()
sheet = wb.active
sheet['A1'] = "Hello"
sheet['B1'] = "World!"
sheet['A3'] = 41.80
sheet['A4'] = 10
wb.save("example.xlsx")
wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.active
temp1 = sheet['A1']
temp2 = sheet['B1']
temp3 = sheet.cell(row = 3, column = 1)
temp4 = sheet.cell(row = 4, column = 1)
print(temp1.value, temp2.value, temp3.value, temp4.value)마무리
이제 파이썬으로 엑셀 파일을 읽고 쓸 수 있게 되었습니다!
openpyxl 라이브러리에는 더 많은 기능이 포함되어 있습니다. 여러 데이터를 한 번에 추가하거나, 차트를 만들고, 통계를 표시하는 등 다양한 작업이 가능합니다.
더 자세히 알아보고 싶다면 공식 문서(https://pypi.org/project/openpyxl/)를 참고해 보세요.