Как заменить текст в таблице документа Word, используя информацию из файла Excel?Python

Программы на Python
Ответить
Anonymous
 Как заменить текст в таблице документа Word, используя информацию из файла Excel?

Сообщение Anonymous »

У меня есть шаблон, в котором я пытаюсь заменить определенный текст информацией из Excel. Проблема в том, что после замены и сохранения файла заданные мной условия больше не применяются, и все файлы сохраняются с одной и той же информацией из одной и той же строки Excel.
Я тоже пробовал дублирование файла Word с помощью docx, но формат был перепутан.
Я запускаю цикл для функции ниже, но каждая таблица документов Word содержит одну и ту же информацию из одной и той же строки.
Вот мой код:
from docx import Document
import pandas as pd

def replace_and_save(excel_file, word_file, output_file):
df = pd.read_excel(excel_file)

doc = Document(word_file)
table = doc.tables[0]

for row_index, excel_row in df.iterrows():
name = excel_row[2]
sex = excel_row[3]
nationality = excel_row[4]
passport_num = excel_row[6]

#This gives different information for each row
print(name, sex, nationality, passport_num)

for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
for run in paragraph.runs:
if "" in run.text:
run.text = run.text.replace("", name)
if "" in run.text:
run.text = run.text.replace("", passport_num)
if "" in run.text:
run.text = run.text.replace("", nationality)
if "" in run.text:
run.text = run.text.replace("", sex)

doc.save(output_file)


Подробнее здесь: https://stackoverflow.com/questions/792 ... an-excel-f
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»