파이썬 엑셀 자동화 시작하기: openpyxl로 파일 생성, 수정, 저장까지
파이썬을 공부하다 보면 알고리즘 문제 풀이도 중요하지만, 실제로 자주 검색되는 주제는 따로 있습니다. 그중 하나가 바로 파이썬 엑셀 자동화입니다. 회사나 학교에서 반복적으로 엑셀 파일을 정리해야 할 때 Python으로 자동화하면 시간을 크게 줄일 수 있습니다.

이번 글에서는 openpyxl 라이브러리를 사용해서 엑셀 파일을 만들고, 데이터를 입력하고, 기존 파일을 수정한 뒤 저장하는 기본 방법까지 한 번에 정리해보겠습니다.
왜 파이썬 엑셀 자동화가 많이 검색될까?
엑셀은 거의 모든 직군에서 사용합니다. 그래서 파이썬 업무 자동화, 엑셀 자동화, openpyxl 사용법 같은 키워드는 입문자와 실무자 모두 자주 찾는 편입니다.
- 매일 반복되는 보고서 정리 시간을 줄일 수 있음
- 엑셀 데이터를 자동으로 입력하거나 수정할 수 있음
- 파이썬 입문자가 실무 느낌을 내기 좋은 주제임
openpyxl이란?
openpyxl은 파이썬에서 엑셀 파일(.xlsx)을 읽고 쓰는 데 많이 사용하는 라이브러리입니다. 새 파일을 만들 수도 있고, 기존 파일을 불러와서 값을 수정한 뒤 다시 저장할 수도 있습니다.
1. openpyxl 설치하기
pip install openpyxl
설치가 끝났다면 아래처럼 import 해서 사용할 수 있습니다.
from openpyxl import Workbook, load_workbook
2. 새 엑셀 파일 만들기
가장 먼저 해볼 것은 새로운 엑셀 파일 생성입니다.
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "매출정리"
ws["A1"] = "날짜"
ws["B1"] = "상품명"
ws["C1"] = "판매금액"
ws["A2"] = "2026-04-25"
ws["B2"] = "키보드"
ws["C2"] = 35000
wb.save("sales_report.xlsx")
위 코드를 실행하면 sales_report.xlsx 파일이 생성됩니다.
3. 반복문으로 여러 행 한 번에 입력하기
실제로는 한 줄씩 직접 입력하기보다 리스트나 반복문으로 여러 데이터를 넣는 경우가 많습니다.
from openpyxl import Workbook
data = [
["날짜", "상품명", "판매금액"],
["2026-04-25", "키보드", 35000],
["2026-04-25", "마우스", 18000],
["2026-04-25", "모니터", 210000],
]
wb = Workbook()
ws = wb.active
ws.title = "판매내역"
for row in data:
ws.append(row)
wb.save("product_list.xlsx")
append()를 사용하면 행 단위로 데이터를 쉽게 추가할 수 있어서 실무에서 자주 사용합니다.
4. 기존 엑셀 파일 불러와서 수정하기
이미 존재하는 파일을 수정하려면 load_workbook()을 사용하면 됩니다.
from openpyxl import load_workbook
wb = load_workbook("product_list.xlsx")
ws = wb["판매내역"]
ws["D1"] = "비고"
ws["D2"] = "주문완료"
ws["D3"] = "배송준비"
ws["D4"] = "출고완료"
wb.save("product_list.xlsx")
이렇게 하면 기존 파일에 새로운 열을 추가할 수 있습니다.
5. 셀 값 읽어오기
엑셀 자동화에서는 값을 입력하는 것만큼 읽어오는 것도 중요합니다.
from openpyxl import load_workbook
wb = load_workbook("product_list.xlsx")
ws = wb["판매내역"]
print(ws["A2"].value)
print(ws["B3"].value)
print(ws["C4"].value)
출력 결과는 각 셀에 저장된 값입니다. 이 값을 활용하면 조건에 따라 다른 작업을 수행하는 자동화도 만들 수 있습니다.
6. 실무에서 자주 쓰는 예시
openpyxl은 아래 같은 작업에서 특히 유용합니다.
- 매일 들어오는 주문 데이터를 한 파일로 정리하기
- 출석부, 가계부, 매출표 자동 생성하기
- 반복되는 보고서 양식에 값 채워 넣기
- 여러 엑셀 파일의 데이터를 읽어 한 번에 합치기
7. openpyxl 사용 시 주의할 점
save()를 호출하면 같은 파일명이 있을 때 덮어쓰기 될 수 있음- 너무 큰 파일은 처리 속도가 느릴 수 있음
.xlsx작업에 특히 많이 사용됨
정리
오늘은 파이썬 엑셀 자동화의 가장 기본이 되는 openpyxl 사용법을 정리해봤습니다. 새 파일 생성, 데이터 입력, 기존 파일 수정, 셀 값 읽기까지 익혀두면 이후에는 보고서 자동화나 업무 자동화로 확장하기 쉬워집니다.
파이썬을 공부 중이라면 알고리즘 문제 풀이도 좋지만, 이렇게 실제로 바로 써먹을 수 있는 자동화 주제를 함께 공부하면 검색 유입도 잘 잡히고 블로그 주제 확장에도 도움이 됩니다.
자주 묻는 질문
Q. openpyxl은 엑셀이 컴퓨터에 설치되어 있어야 하나요?
아니요. 기본적인 읽기/쓰기 작업은 엑셀이 설치되어 있지 않아도 가능합니다.
Q. 파이썬 엑셀 자동화는 초보자도 가능한가요?
네. 반복문과 리스트 정도만 알아도 기본 자동화는 충분히 시작할 수 있습니다.
Q. 어떤 사람이 이 주제를 가장 많이 찾나요?
사무직, 대학생, 데이터 정리 업무가 많은 사람, 그리고 파이썬 입문자가 많이 검색하는 편입니다.
다음 글에서는 openpyxl로 셀 색상, 너비, 폰트까지 자동으로 꾸미는 방법도 정리해보겠습니다.
'coding' 카테고리의 다른 글
| 파이썬 CSV 파일 저장하는 방법: 리스트와 딕셔너리 예제까지 (2) | 2026.04.29 |
|---|---|
| 파이썬으로 CSV 파일 읽기: 초보자도 이해하는 예제 (0) | 2026.04.27 |
| openpyxl 셀 색상, 폰트, 너비 설정하는 방법 (0) | 2026.04.26 |
| 파이썬 CSV 한글 깨짐 해결 방법 | UnicodeDecodeError, cp949, utf-8 한 번에 정리 (0) | 2026.04.24 |
| 2026 SQLD 독학 로드맵: 비전공자도 시작할 수 있는 SQL 공부 순서 (1) | 2026.04.23 |