Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python openpyxl 모듈로 엑셀(Excel) 파일 읽고 쓰는 방법

openpyxl은 확장자가 xlsx/xlsm/xltx/xltm인 엑셀(Excel) 파일을 읽고 쓸 수 있게 해주는 파이썬 라이브러리입니다. 이 모듈을 활용하면 파이썬 프로그램에서 엑셀 파일을 직접 열어 데이터를 조회하고 수정할 수 있습니다.

예를 들어 수천 개에 달하는 행(row) 속에서 특정 조건에 맞는 정보만 골라내거나, 일부 데이터를 소규모로 수정해야 하는 상황이 자주 발생합니다. openpyxl 모듈을 사용하면 이런 반복적인 작업을 매우 효율적이고 간단하게 처리할 수 있습니다.

openpyxl 설치하기

openpyxl은 기본 라이브러리가 아니므로 아래 명령어로 먼저 설치해야 합니다.

pip install openpyxl

엑셀 파일에 데이터 쓰기 예제

# openpyxl 모듈 임포트
import openpyxl

# Workbook() 함수를 호출하여 새로운 빈 워크북 객체 생성
wb = openpyxl.Workbook()

# active 속성으로 현재 활성화된 시트 가져오기
sheet = wb.active

# 셀 객체는 row, column, coordinate 속성으로 위치 정보를 제공합니다.
# 행과 열의 번호는 0이 아니라 1부터 시작합니다.
# cell() 메서드를 사용해 셀 객체를 생성할 수 있습니다.
c1 = sheet.cell(row=1, column=1)

# 셀에 값 쓰기
c1.value = "Vishesh"

c2 = sheet.cell(row=1, column=2)
c2.value = "Ved"

# Worksheet 객체가 있으면 셀 이름으로도 접근 가능합니다.
# A2는 1열(A), 2행을 의미합니다.
c3 = sheet['A2']
c3.value = "Python"

# B2는 2열(B), 2행을 의미합니다.
c4 = sheet['B2']
c4.value = "Programming"

# 워크북이나 시트, 셀을 수정한 내용은 save() 메서드를 호출해야
# 실제 스프레드시트 파일에 저장됩니다.
wb.save("C:\\Users\\Vishesh\\Desktop\\demo.xlsx")

주요 포인트 정리

1. 셀 인덱스는 1부터 시작: 일반적인 프로그래밍 언어와 달리 openpyxl에서는 첫 번째 행과 열의 번호가 1입니다.

2. 두 가지 셀 접근 방식: sheet.cell(row=1, column=1)처럼 숫자 좌표로 접근하거나, sheet['A2']처럼 엑셀 좌표 문자열로 접근할 수 있습니다.

3. 반드시 save() 호출: 워크북 객체나 시트, 셀을 아무리 수정해도 save() 메서드를 호출하지 않으면 파일에는 변경 사항이 반영되지 않습니다.