본문으로 건너뛰기
실습하기

파이썬으로 Excel 업무 자동화하기

엑셀에서 반복되는 작업을 수작업으로 처리하다 보면 지치기 마련입니다.

매일 똑같은 데이터를 복사하고, 서식을 맞추고, 계산하는 일들이 쌓이다 보면 누구나 "이걸 자동으로 할 수 없을까?"라는 생각이 들 수 있습니다.

다행히도, 파이썬과 openpyxl 라이브러리를 사용하면 이렇게 반복적인 엑셀 작업을 쉽게 자동화할 수 있습니다.


언제 엑셀 업무 자동화가 필요할까요?

부서별 임직원 정보를 담은 수십 개의 엑셀 파일을 열어서 이름과 이메일 주소를 복사하고, 하나의 파일로 합치는 업무를 생각해 보겠습니다.

파일을 열고, 데이터를 복사하고, 정리하는 데 시간이 얼마나 걸릴까요?

이런 작업을 매번 수동으로 하다 보면 실수가 생길 수도 있고, 중요한 업무에 집중할 시간을 놓치게 됩니다.

하지만 파이썬openpyxl를 사용하면 단 몇 줄의 코드로 순식간에, 수십 개의 엑셀 파일에서 필요한 데이터를 자동으로 가져와 정리할 수 있습니다.


파이썬으로 엑셀을 다룰 수 있을까요?

openpyxl은 엑셀 파일을 읽고, 쓰고, 수정하는 다양한 기능을 제공하는 라이브러리입니다.

엑셀 파일의 구조는 다음과 같습니다.

  • 워크북(Workbook): 엑셀 파일 전체

  • 시트(Sheet): 워크북 내의 탭

  • 셀(Cell): 시트 내의 각 셀

openpyxl을 활용해 특정 워크북, 시트, 셀을 선택한 후, 데이터를 읽거나 수정할 수 있습니다.


예제: 엑셀 파일에서 데이터 읽어오기

엑셀 데이터 읽기
# openpyxl 라이브러리 불러오기
from openpyxl import load_workbook

# 엑셀 파일 불러오기
workbook = load_workbook('input_file.xlsx')

# 특정 시트 선택하기
sheet = workbook['Sheet1']

# 셀 값 읽어오기
a_one = sheet['A1'].value

print(f"셀 A1의 값: {a_one}")

openpyxl 라이브러리를 불러올 때는 from openpyxl import {클래스 또는 함수} 형식으로 필요한 클래스 또는 함수를 불러옵니다.

load_workbook 함수는 엑셀 파일을 불러오는 함수입니다.

여기서 input_file.xlsx는 엑셀 파일 예시로, 파이썬 코드가 실행되는 폴더와 동일한 위치에 있어야 합니다.

만약 엑셀 파일이 다른 폴더에 있다면, 파이썬 코드가 실행되는 폴더로 파일을 복사해야 합니다.

또는 파일의 절대 경로(예: C:\Users\username\Documents\input_file.xlsx)로 파일의 위치를 지정할 수도 있습니다.

참고: 코드프렌즈는 웹 기반 환경에서 접근하므로, 웹 브라우저 보안 상 이유로 사용자님의 컴퓨터에 저장된 파일에 접근할 수 없습니다. 따라서 앞으로 수업에서는 엑셀 파일을 외부 저장소에 업로드하고, 해당 파일의 URL을 사용하여 엑셀 파일을 불러올 것입니다.

workbook['Sheet1'] 코드는 엑셀 파일의 Sheet1 시트(탭)를 선택하는 코드입니다. 엑셀 파일에는 여러 시트가 있을 수 있으므로, 필요한 시트를 선택해야 합니다.

sheet['A1'].value 코드는 Sheet1 시트의 A1 셀의 값을 가져오는 코드입니다.

만약 input_file.xlsx 파일의 A1 셀에 "AWARD_NAME"이라는 값이 들어있다면, 위 코드는 다음과 같은 결과를 출력합니다.

출력 결과
셀 A1의 값: AWARD_NAME

다음 수업에서는 openpyxl의 기본적인 메서드들을 알아보겠습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!