[916] Replace text in a Word document using Python

发布时间 2023-10-20 09:57:39作者: McDelfino

To replace text in a Word document using Python, you can use the python-docx library, which allows you to work with Microsoft Word files (.docx). If you haven't already installed this library, you can do so using pip:

pip install python-docx

Here's how you can replace text in a Word document:

  1. Create a Word document (.docx file) that you want to modify. Save it with a meaningful name, for example, "sample.docx."

  2. Use the python-docx library to open the Word document and modify it. Here's an example of how to replace text:

from docx import Document

# Open the Word document
doc = Document("sample.docx")

# Define the text you want to find and replace
old_text = "Old Text"
new_text = "New Text"

# Iterate through the paragraphs in the document
for paragraph in doc.paragraphs:
    if old_text in paragraph.text:
        # Replace the old text with the new text
        paragraph.text = paragraph.text.replace(old_text, new_text)

# Save the modified document
doc.save("modified_sample.docx")

In the code above:

  • We import the Document class from the docx module.
  • We open the existing Word document ("sample.docx").
  • We define the text to be replaced ("Old Text") and the replacement text ("New Text").
  • We iterate through the paragraphs in the document and check if the old text is present in each paragraph.
  • If the old text is found in a paragraph, we replace it with the new text.
  • Finally, we save the modified document with a new name ("modified_sample.docx").

Make sure to replace "sample.docx" with the path to your own Word document. After running the script, you'll have a new Word document ("modified_sample.docx") with the specified text replaced.

Note: The python-docx library supports basic text replacement but may not handle more complex formatting, tables, or other advanced Word document features. If your document contains complex formatting or structures, you may need to use more advanced methods or libraries for handling Word documents.