파이썬으로 엑셀 업무 자동화하기
엑셀에서 매일 동일한 데이터를 복사하고, 서식을 맞추고, 계산하는 작업이 반복되다 보면, 누구나 "이걸 자동으로 할 수 없을까?"
라는 생각이 들 수 있습니다.
부서별 임직원 정보를 담은 수십 개의 엑셀 파일을 열어 이름과 이메일 주소를 복사한 후, 하나의 파일로 합치는 업무를 생각해 보세요.
파일을 열고 데이터를 복사하며 정리하는 데 얼마나 시간이 걸릴까요?
이러한 반복 작업을 수작업으로 진행하다 보면 실수가 발생할 수 있고, 중요한 업무에 집중할 시간도 놓치게 됩니다.
다행히도, 파이썬과 openpyxl
라이브러리를 사용하면 이렇게 반복적인 엑셀 작업을 쉽게 자동화할 수 있습니다.
openpyxl 라이브러리 소개
openpyxl'은 엑셀 파일을 읽고, 쓰고, 수정하는 다양한 기능을 제공하는 라이브러리입니다.
이 라이브러리를 활용하면 엑셀의 구조와 요소들을 파이썬 코드로 다룰 수 있습니다.
엑셀 파일의 구조
-
워크북(Workbook)
: 엑셀 파일 전체 -
시트(Sheet)
: 워크북 내의 탭 -
셀(Cell)
: 시트 내의 각 셀
openpyxl을 활용해 특정 워크북, 시트, 셀을 선택한 후, 데이터를 읽거나 수정할 수 있습니다.
엑셀 파일에서 데이터 읽어오기
엑셀 파일에서 데이터를 읽어올 때는 openpyxl
라이브러리를 불러오고, load_workbook
함수를 사용합니다.
# 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 강의를 등록해 주세요!