반응형

파이썬 엑셀 자동화 시작하기: 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로 셀 색상, 너비, 폰트까지 자동으로 꾸미는 방법도 정리해보겠습니다.

반응형

+ Recent posts