У меня есть документ, который я хочу заменить более чем одним словом. Но я не смог сделать больше, чем одно. Вот мой код:
import re
from docx import Document
def docx_replace_regex(doc_obj: object, regex: object, replace: object) -> object:
for p in doc_obj.paragraphs:
if regex.search(p.text):
inline = p.runs
for i in range(len(inline)):
if regex.search(inline[i].text):
text = regex.sub(replace, inline[i].text)
inline[i].text = text
for table in doc_obj.tables:
for row in table.rows:
for cell in row.cells:
docx_replace_regex(cell, regex , replace)
regex1 = re.compile(r"Question Number 1")
replace1 = r"Q1"
regex2 = re.compile(r"Question Number 2")
replace2 = r"Q2"
regex3 = re.compile(r"Question Number 3")
replace3 = r"Q3"
regex4 = re.compile(r"Question Number 4")
replace4 = r"Q4"
regex5 = re.compile(r"Question Number 5")
replace5 = r"Q5"
filename = "template.docx"
doc = Document(filename)
for i in range(1, 5):
reg = "regex" + str(i)
rep = "replace" + str(i)
docx_replace_regex(doc, reg, rep)
doc.save('result9.docx')
Я написал этот код некоторое время go, и я просто сдался после многих попыток не зная, как решить проблему. Поэтому я не помню большинство из них, и я все еще застрял в том, как решить эту проблему.