라벨이 python-docx 사용법인 게시물 표시

[연구 자동화 #32] 마지막 퍼즐: 분석 결과물을 워드와 LaTeX 문서에 자동 삽입하기

데이터 분석이 완벽하게 끝났다고 생각한 순간, 지도 교수님이나 공동 연구자로부터 "데이터 하나가 빠졌으니 다시 분석해 보게"라는 피드백을 받아보신 적 있나요? 분석 코드를 다시 돌리는 건 어렵지 않지만, 그 결과로 나온 수십 개의 표와 수치를 워드 파일에 다시 복사해서 붙여넣고 오타를 확인하는 작업은 그야말로 고역입니다. 이런 소모적인 과정을 겪다 보면 "컴퓨터가 알아서 문서에 값을 채워줄 수는 없을까?"라는 고민에 빠지게 됩니다. 결론부터 말씀드리면 가능합니다. 우리가 사용하는 워드(.docx)와 LaTeX(.tex)은 모두 파이썬으로 제어할 수 있는 구조를 가지고 있기 때문입니다. 1. 워드 사용자라면: python-docx의 마법 가장 대중적인 워드 문서의 경우 python-docx 라이브러리가 해결사입니다. 이 도구의 핵심은 문서 안에 '플레이스홀더(Placeholder)', 즉 미리 정해둔 꼬리표를 달아두는 것입니다. 예를 들어 워드 문서에 {{result_value}} 라고 적어두면, 파이썬이 문서를 읽어 이 부분을 실제 분석 결과인 '15.24%'로 바꿔치기합니다. 특히 표(Table) 자동화가 강력하여, 수백 개의 데이터를 옮길 때 발생할 수 있는 오타를 완벽히 차단합니다. 2. LaTeX 사용자라면: 텍스트 파일의 힘 수식이 많은 이공계 연구자들이 사랑하는 LaTeX은 사실 텍스트 파일에 불과합니다. 따라서 워드보다 훨씬 직관적으로 자동화할 수 있습니다. 저는 주로 분석 결과로 나온 수치들을 별도의 .tex 파일(예: constants.tex)로 내보내는 방식을 사용합니다. 파이썬에서 \newcommand{\ResultA}{24.5} 와 같은 코드를 생성해 파일로 저장하면, 본문에서는 해당 매크로만 써주면 됩니다. 데이터가 바뀌어 파이썬 코드를 다시 실행하면 문서 전체의 수치가 마법처럼 최신화됩니다. 3. 실전 전략: 분석과 문서의 연결고리 만들기...

[연구 자동화 #8] 결과 보고 자동화: 분석 결과를 워드(Docx)나 PDF 보고서로 자동 생성하기

  연구실의 금요일 오후를 상상해 봅시다. 일주일간 진행한 실험 데이터를 정리하고 분석까지 마쳤지만, 마지막 관문인 '주간 보고서 작성'이 남았습니다. 엑셀에서 표를 긁어오고, 주피터 노트북에서 그래프를 그림 파일로 저장한 뒤 워드 문서에 배치하는 과정은 단순하지만 지루한 반복 작업입니다. 만약 파이썬이 분석을 끝내자마자 "보고서 작성이 완료되었습니다"라는 메시지와 함께 완벽하게 정돈된 .docx 파일을 내놓는다면 어떨까요? 파이썬의 python-docx 라이브러리를 활용하면 문서의 제목부터 텍스트, 표, 그리고 시각화 이미지까지 모두 자동화된 워크플로우 안에서 처리할 수 있습니다. 1. 보고서 자동화의 핵심: python-docx 라이브러리 파이썬에는 MS Word 문서를 생성하고 수정할 수 있는 강력한 도구인 python-docx 가 있습니다. 이 라이브러리를 사용하면 마치 사람이 워드를 조작하듯 문단을 추가하고, 폰트 스타일을 바꾸고, 이미지를 삽입하는 과정을 코드로 제어할 수 있습니다. 설치 방법: 터미널(또는 Anaconda Prompt)에서 pip install python-docx 명령어로 간단히 설치할 수 있습니다. 주요 기능: 헤더/푸터 설정, 문단 추가, 표 생성, 이미지 삽입, 폰트 스타일(크기, 굵기, 정렬) 지정 등. 2. 실전: 5분 만에 끝내는 자동 보고서 생성 코드 간단한 예시를 통해 분석 결과와 그래프가 포함된 보고서를 생성하는 로직을 살펴보겠습니다. Python from docx import Document from docx.shared import Inches import datetime # 1. 새 문서 생성 doc = Document() # 2. 제목 추가 doc.add_heading( '주간 실험 데이터 분석 보고서' , 0 ) # 3. 본문 텍스트 작성 p = doc.add_paragraph( '본 보고서는 파이썬 자동화 스크립트에 의해...