오피스 프로그램 반복 업무를 자동화하는 방법
일상 업무에서 엑셀(Excel)
, 파워포인트(PowerPoint)
, 워드(Word)
와 같은 오피스 프로그램을 얼마나 자주 사용하시나요?
직무와 관계없이 데이터를 정리하고 분석하거나, 발표 자료를 만들거나, 보고서를 작성할 때 자연스럽게 오피스 프로그램을 사용하게 됩니다.
그러나 엑셀에 대량의 데이터를 수작업으로 입력하거나, 동일한 템플릿의 PPT 슬라이드에서 텍스트만 바꾸는 반복적인 작업을 하다 보면 "이걸 더 효율적으로 할 수는 없을까?"
라는 생각이 들기 마련입니다.
파이썬으로 반복 업무를 자동화하는 방법
파이썬은 이러한 반복 업무를 자동화하는 최적의 도구입니다.
특히 openpyxl
(Excel), python-pptx
(PowerPoint), python-docx
(Word)와 같은 라이브러리를 사용하면 오피스 프로그램에서의 반복적인 작업을 자동화할 수 있습니다.
수십 개의 엑셀 파일을 탭별로 구분해 병합하려면 어떻게 해야 할까요?
수작업으로 하나씩 파일을 열어 복사-붙여넣기를 하는 것은 매우 비효율적입니다.
하지만 파이썬과 openpyxl을 사용하면 이러한 작업을 몇 줄의 코드로 해결할 수 있습니다.
# 1월-6월 전자체품 매출 데이터를 포함한 엑셀 파일 리스트
file_names = ['input_file_1.xlsx', 'input_file_2.xlsx', 'input_file_3.xlsx', 'input_file_4.xlsx', 'input_file_5.xlsx',
'input_file_6.xlsx']
# 각 파일에서 데이터를 읽어와서 병합
for idx, file_name in enumerate(file_names, start=1):
# 각 파일의 워크북을 로드
wb = load_workbook(file_name)
ws = wb.active # 첫 번째 시트로 가정
# 시트명을 "Sheet1", "Sheet2", "Sheet3" 등으로 생성
sheet_name = f"Sheet{idx}"
# 각 파일마다 고유한 시트 이름을 생성하여 추가
new_sheet = merged_wb.create_sheet(title=sheet_name)
# 각 파일의 데이터를 새로운 시트로 복사
for row in ws.iter_rows(values_only=True):
new_sheet.append(row)
위 예시는 엑셀 파일에서 특정 데이터를 자동으로 읽어오는
코드입니다.
이처럼 몇 줄의 코드만으로 여러 엑셀 파일에서 데이터를 불러오는 반복 작업을 자동화할 수 있습니다.
또한 파이썬을 활용하면 단순히 데이터를 추출하는 것뿐만 아니라, 특정 조건에 맞춰 데이터를 변환하거나 보고서를 자동으로 생성하는 등 다양한 작업을 수행할 수 있습니다.
반복적인 업무에 불필요하게 많은 시간을 소모하고 계셨다면, 이제 파이썬 프로그램을 한 번 실행하는 것만으로 업무를 간편하게 마무리할 수 있습니다. 👍
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!