[python] 파이썬으로 워드 문서 문장 번호 매기기

파일로 저장된 워드 문서에서 문장 번호를 매기고자 합니다. 파이썬을 사용하여 간단하게 이 작업을 수행할 수 있습니다.

접근 방법

  1. 파이썬의 python-docx 라이브러리를 사용하여 워드 문서를 엽니다.
  2. 문장 단위로 문단을 분리합니다.
  3. 문장의 개수를 세고 번호를 매깁니다.
  4. 번호가 매겨진 문장을 순서대로 재구성합니다.
  5. 새로운 문장이 포함된 문단들을 만들고, 이를 워드 문서에 삽입합니다.
  6. 최종적으로 번호가 매겨진 문장이 포함된 워드 문서를 저장합니다.

예제 코드

import docx
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 워드 파일 열기
doc = docx.Document('original.docx')

# 문장 번호 매기기
sentence_number = 1

for paragraph in doc.paragraphs:
    # 문장 단위로 분리
    sentences = paragraph.text.split('. ')
    
    for i, sentence in enumerate(sentences):
        if i == len(sentences) - 1:
            sentence += '.'  # 마지막 문장에는 마침표 추가
        
        # 문장 번호와 함께 문장 생성
        new_paragraph = doc.add_paragraph(f"{sentence_number}. {sentence}")
        
        # 문장 번호 증가
        sentence_number += 1
        
        # 삽입된 문장 정렬
        new_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFY
    
    # 원래 문단 삭제
    doc._body.remove(paragraph._element)

# 새로운 워드 파일로 저장
doc.save('numbered.docx')

참고 자료