안녕하세요! 오늘은 Python을 활용해 반복적인 문서 작업에서 해방되는 과정을 기록한 프로젝트 회고를 공유합니다. Word, Excel, PowerPoint 문서를 코드로 생성하고 제어하는 환경을 구축하고 직접 테스트해본 과정을 담았습니다.
🚀 프로젝트 목표
- MS Office 문서(Word, Excel, PowerPoint) 자동화: Python 스크립트로 문서를 생성, 수정, 읽기.
- 개발 환경 최적화: 여러 프로젝트에 흩어진 가상환경을 하나로 통합하여 디스크 효율성 및 관리 편의성 증대.
🛠️ 1. 개발 환경 최적화 (가상환경 통합)
가장 먼저 진행한 작업은 프로젝트 폴더마다 산재해 있던 venv 폴더들을 정리하는 것이었습니다.
- 문제점: 프로젝트마다 수백 MB를 차지하는 가상환경이 중복되어 디스크 공간 낭비 및 관리의 어려움.
- 해결책: 프로젝트 루트에
.venv_shared라는 통합 가상환경을 생성. - 결과:
- 기존 4개의 개별 가상환경 삭제.
- VS Code 설정(
.vscode/settings.json)을 업데이트하여 모든 하위 프로젝트가 이 통합 환경을 바라보도록 설정. python-docx,openpyxl,python-pptx등 필요한 라이브러리를 한 곳에 설치하여 효율적인 의존성 관리 가능.
📄 2. Word 문서 자동화 (python-docx)
가상환경 세팅 후, 첫 번째 타자는 Word였습니다.
주요 기능 구현
- 문서 생성: 제목, 문단, 불렛 포인트 목록 추가.
- 스타일링: 텍스트 굵게, 이탤릭 처리.
- 표(Table) 생성: 데이터를 표 형식으로 정리하여 삽입.
- 데이터 검증: 생성된 파일을 다시 파이썬으로 읽어들여 내용이 정확한지 확인.
성과: 보고서 양식을 코드로 정의해두면, 데이터만 바뀐 새로운 보고서를 1초 만에 뽑아낼 수 있습니다.
📊 3. Excel 문서 자동화 및 시각화 (openpyxl)
다음은 직장인의 영원한 친구 Excel입니다. 단순 데이터 입력뿐만 아니라 차트까지 그렸습니다.
주요 기능 구현
- 데이터 시트 작성: 헤더에 배경색과 폰트 스타일 적용.
- 수식(Formula) 적용:
=SUM()함수를 셀에 입력하여 자동 계산 기능 구현. - 차트 추가: 작업 비중을 시각적으로 보여주는 파이 차트(Pie Chart) 자동 생성.
성과: 복잡한 엑셀 서식과 차트 그리기 작업을 파이썬 스크립트 실행 한 번으로 끝낼 수 있었습니다.
🖥️ 4. PowerPoint 슬라이드 자동화 (python-pptx)
마지막으로 프레젠테이션을 위한 PowerPoint 자동화입니다.
주요 기능 구현
- 슬라이드 추가: 타이틀 슬라이드, 목록형 슬라이드 등 레이아웃 활용.
- 콘텐츠 삽입: 불렛 포인트 텍스트 및 커스텀 텍스트 박스 배치.
성과: 주간 보고나 월간 실적 보고 같은 반복적인 PPT 작성 시간을 획기적으로 줄일 수 있는 가능성을 확인했습니다.
📋 5. 보너스: 지원 가능한 문서 포맷 리스트업
테스트를 마친 후, 파이썬으로 제어 가능한 문서 형식들을 정리하여 엑셀 파일로 만들었습니다.
- Office: docx, xlsx, pptx
- Cloud: Google Docs, Sheets, Slides (API 활용)
- Other: PDF, HTML, JSON, CSV 등
특히 Google Docs와 같은 클라우드 문서는 파일이 아닌 Google Cloud API와 인증 키(Credentials)를 통해 실시간으로 제어할 수 있음을 확인했습니다. (비용은 개인 사용 시 무료 티어 내에서 충분히 가능!)
🏁 마무리
이번 프로젝트를 통해 "문서 작업도 코딩처럼" 관리할 수 있다는 것을 확인했습니다. 단순 반복 업무는 파이썬에게 맡기고, 우리는 더 창의적이고 중요한 일에 집중할 수 있게 되었습니다.
다음 목표: 실제 업무 데이터를 연동하여 매일 아침 자동으로 일일 업무 보고서를 생성하는 봇 만들기!
Tags: #파이썬 #업무자동화 #문서자동화 #Python #Automation #MSOffice #Word #Excel #PowerPoint #가상환경 #개발회고
* 본 게시물은 Antigravity 를 활용해 제작 되었습니다.
댓글 없음:
댓글 쓰기