2026년 1월 19일 월요일

Python으로 퇴근 시간 앞당기기: MS Office 문서 자동화 프로젝트 회고

 안녕하세요! 오늘은 Python을 활용해 반복적인 문서 작업에서 해방되는 과정을 기록한 프로젝트 회고를 공유합니다. Word, Excel, PowerPoint 문서를 코드로 생성하고 제어하는 환경을 구축하고 직접 테스트해본 과정을 담았습니다.

🚀 프로젝트 목표

  • MS Office 문서(Word, Excel, PowerPoint) 자동화: Python 스크립트로 문서를 생성, 수정, 읽기.
  • 개발 환경 최적화: 여러 프로젝트에 흩어진 가상환경을 하나로 통합하여 디스크 효율성 및 관리 편의성 증대.

🛠️ 1. 개발 환경 최적화 (가상환경 통합)

가장 먼저 진행한 작업은 프로젝트 폴더마다 산재해 있던 venv 폴더들을 정리하는 것이었습니다.

  • 문제점: 프로젝트마다 수백 MB를 차지하는 가상환경이 중복되어 디스크 공간 낭비 및 관리의 어려움.
  • 해결책: 프로젝트 루트에 .venv_shared라는 통합 가상환경을 생성.
  • 결과:
    • 기존 4개의 개별 가상환경 삭제.
    • VS Code 설정(.vscode/settings.json)을 업데이트하여 모든 하위 프로젝트가 이 통합 환경을 바라보도록 설정.
    • python-docxopenpyxlpython-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 를 활용해 제작 되었습니다.

댓글 없음:

댓글 쓰기

🤖 리틀 로직 봇(Little Logic Bot) 개발 여정기

  "아빠가 설계하고 딸이 완성하는 로직 퍼즐" 만 4~6세 아이들을 위한 초기 코딩 교육용 웹 게임 개발 프로젝트 📌 프로젝트 개요 탄생 배경 이 프로젝트는 펌웨어 엔지니어인 아빠가 딸을 위해 시작한 교육용 게임입니다. 복잡한 텍...