소개
openpyxl Excel 2010 xlsx/xlsm/xltx/xltm 파일을 읽고 쓰는 Python 라이브러리입니다.
Python Office Open XML 형식을 기본적으로 읽고 쓸 수 있는 기존 라이브러리가 부족하여 탄생했습니다.
우리가 작업에 사용하는 엑셀 파일을 Workbook이라고 하며, 최소 한 장, 최대 수십 장으로 구성되어 있습니다.
한 시트는 1부터 시작하는 행과 A부터 시작하는 열로 구성됩니다.
openpxyl 라이브러리를 사용하여 시트 및 데이터 추가, 해당 데이터 조작 및 삭제를 포함한 다양한 기능을 수행할 수 있습니다.
이제 우리가 무엇을 다루고 있는지 알았으니 시작하겠습니다.
시작하기
openpyxl은 Python과 함께 제공되지 않습니다. 즉, PIP 패키지 관리자를 사용하여 다운로드하여 설치해야 합니다. 이렇게 하려면 터미널을 실행하고 아래 명령을 입력하세요.
pip install openpyxl
라이브러리를 다운로드 및 설치했으면 Excel 파일 작업을 시작하기 위해 다양한 모듈을 가져와야 합니다.
먼저 openpyxl 라이브러리에서 통합 문서 모듈을 가져오겠습니다.
from openpyxl import Workbook
이제 필요한 가져오기를 수행했으므로 통합 문서 모듈을 사용하여 Excel 시트에 데이터를 만들고 저장하는 작업을 할 수 있습니다.
엑셀 파일로 데이터 생성 및 저장
먼저 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가 추가됩니다.
Excel 파일에서 데이터 읽기
Excel 파일에 데이터를 쓰는 방법을 배웠으니 이제 Excel 파일에서 데이터를 읽어 보겠습니다.
이번에는 통합 문서 모듈을 가져올 필요가 없으며 openpyxl만 가져와야 합니다.
import openpyxl
파일에서 읽으려면 먼저 리더에게 파일의 위치를 제공해야 합니다.
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)
결론
이제 Python을 사용하여 Excel 파일을 읽고 쓸 수 있습니다!
openpyxl 라이브러리에는 더 많은 기능이 있습니다. 한 번에 여러 데이터를 추가하고, 차트를 작성하고, 통계를 표시하는 등의 작업을 수행할 수 있습니다!
궁금하고 더 자세히 알고 싶다면 https://pypi.org/project/openpyxl/에서 공식 문서를 확인하세요.