Я пытаюсь изменить содержимое документа, используя библиотеку python-docx. Мои изменения о замене слов. Итак, у меня есть список слов Original word list: ['ABC','XYZ']
, которые мне нужно заменить на revised word list: ['PQR', 'DEF']
. Мне также нужно сохранить формат этих слов. Прямо сейчас я могу сохранить только одно изменение. Вот мой код для справки.
def replace_string(filename='test.docx'):
doc = Document(filename)
list= ['ABC','XYZ']
list2 = ['PQR','DEF']
for p in doc.paragraphs:
print(p.text)
for i in range(0, len(list)):
if list[i] in p.text:
print('----!!SEARCH FOUND!!------')
print(list[i])
print(list2[i])
print('\n')
inline = p.runs
# Loop added to work with runs (strings with same style)
for i in range(len(inline)):
#print(inline[i].text)
if list[i] in inline[i].text:
print('----SEARCH FOUND!!------')
text = inline[i].text.replace(list[i], list2[i])
inline[i].text = text
print(inline[i].text)
doc.save('dest1.docx')
return 1
replace_string()
Исходное содержимое файла test.docx:
ABC
XYZ
Исправлено содержимое или сохранено содержимое файла dest1.docx:
PQR
XYZ
Как я могу сохранить все замены? Список слов может увеличиваться, а его размер не является фиксированным.