[python] 파이썬으로 워드 문서 문장 번호 매기기
파일로 저장된 워드 문서에서 문장 번호를 매기고자 합니다. 파이썬을 사용하여 간단하게 이 작업을 수행할 수 있습니다.
접근 방법
- 파이썬의
python-docx
라이브러리를 사용하여 워드 문서를 엽니다. - 문장 단위로 문단을 분리합니다.
- 문장의 개수를 세고 번호를 매깁니다.
- 번호가 매겨진 문장을 순서대로 재구성합니다.
- 새로운 문장이 포함된 문단들을 만들고, 이를 워드 문서에 삽입합니다.
- 최종적으로 번호가 매겨진 문장이 포함된 워드 문서를 저장합니다.
예제 코드
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')
참고 자료
python-docx
라이브러리 문서: https://python-docx.readthedocs.io