[python] 파이썬으로 워드 문서 내용 삭제하기
파이썬을 사용하여 워드 문서 내에서 특정 내용을 삭제하고 싶다면, python-docx 라이브러리를 사용할 수 있습니다. 이 라이브러리는 워드 문서를 다루는데 도움이 되는 다양한 기능을 제공합니다.
python-docx 설치하기
먼저, python-docx를 설치해야 합니다. 다음 명령을 사용하여 파이썬 패키지를 설치할 수 있습니다.
pip install python-docx
워드 문서 열기
워드 문서를 열기 위해 docx
모듈을 import 해야 합니다.
from docx import Document
이제 워드 문서를 열기 위해 Document
객체를 생성합니다.
doc = Document('문서이름.docx')
특정 내용 삭제하기
doc
객체를 사용하여 원하는 텍스트를 삭제할 수 있습니다. 예를 들어, “삭제할 내용”이라는 텍스트를 모두 삭제하고 싶을 때는 다음과 같이 코드를 작성합니다.
target_text = "삭제할 내용"
for para in doc.paragraphs:
if target_text in para.text:
runs = para.runs
results = []
for run in runs:
if target_text not in run.text:
results.append(run.text)
para.text = "".join(results)
위의 코드에서는 paragraphs
속성을 사용하여 워드 문서의 모든 단락을 가져옵니다. 그런 다음, runs
속성을 사용하여 각 단락의 텍스트를 가져옵니다. 만약 특정 텍스트가 단락 내에 존재한다면, 해당 단락의 텍스트와 일치하지 않는 부분만을 따로 모아서 다시 설정하게 됩니다. 이렇게 하면 해당 텍스트가 삭제된 워드 문서를 얻을 수 있습니다.
변경된 내용 저장하기
삭제된 내용을 포함하는 워드 문서를 저장하기 위해 save
메소드를 호출합니다.
doc.save('변경된문서이름.docx')
전체 예제 코드
아래에는 전체 예제 코드를 제공합니다.
from docx import Document
def delete_text_from_doc(target_text, doc_name):
doc = Document(doc_name)
for para in doc.paragraphs:
if target_text in para.text:
runs = para.runs
results = []
for run in runs:
if target_text not in run.text:
results.append(run.text)
para.text = "".join(results)
doc.save('new_' + doc_name)
위의 코드를 사용하면 특정 텍스트가 삭제된 새로운 워드 문서를 생성할 수 있습니다. 함수를 호출할 때는 target_text
에 삭제하고 싶은 텍스트를 입력하고, doc_name
에는 원본 워드 문서의 파일명을 입력하시면 됩니다.