Текущий код создаёт лишь один файл на выходе и меняет только [свидетельство]
Не могу определить в чём проблема
Все столбцы в excel файле я назвал, все ключи соответствую коду
import pandas as pd
from docx import Document
import os
excel_file = 'Book1.xlsx'
column_names = [
'ФИО_должника', 'адрес', 'дата_рождения', 'паспорт', 'задолженность',
'пошлина', 'период_задолженности', 'населённый_пункт', 'улица',
'дом', 'квартира', 'кадастровый_номер', 'свидетельство'
]
df = pd.read_excel(excel_file, names=column_names, header=None)
print(df.columns)
template_path = 'Заявление.docx'
output_folder = 'output_docs'
os.makedirs(output_folder, exist_ok=True)
def create_document(row):
doc = Document(template_path)
output_path = os.path.join(output_folder, f"Заявление_{row['ФИО_должника']}.docx")
for paragraph in doc.paragraphs:
if '[ФИО_должника]' in paragraph.text:
paragraph.text = paragraph.text.replace('[ФИО_должника]', str(row['ФИО_должника']))
if '[место_жительства]' in paragraph.text:
paragraph.text = paragraph.text.replace('[место_жительства]', str(row['место_жительства']))
if '[дата_и_место_рождения]' in paragraph.text:
paragraph.text = paragraph.text.replace('[дата_и_место рождения]', str(row['дата_и_место_рождения']))
if '[данные_паспорта]' in paragraph.text:
paragraph.text = paragraph.text.replace('[данные_паспорта]', str(row['паспорт']))
if '[размер_задолженности]' in paragraph.text:
paragraph.text = paragraph.text.replace('[размер_задолженности]', str(row['задолженность']))
if '[пошлина]' in paragraph.text:
paragraph.text = paragraph.text.replace('[пошлина]', str(row['пошлина']))
if '[период_задолженности]' in paragraph.text:
paragraph.text = paragraph.text.replace('[период_задолженности]', str(row['период_задолженности']))
if '[населённый_пункт]' in paragraph.text:
paragraph.text = paragraph.text.replace('[населённый_пункт]', str(row['населённый_пункт']))
if '[улица]' in paragraph.text:
paragraph.text = paragraph.text.replace('[улица]', str(row['улица']))
if '[дом]' in paragraph.text:
paragraph.text = paragraph.text.replace('[дом]', str(row['дом']))
if '[квартира]' in paragraph.text:
paragraph.text = paragraph.text.replace('[квартира]', str(row['квартира']))
if '[кадастровый_номер]' in paragraph.text:
paragraph.text = paragraph.text.replace('[кадастровый_номер]', str(row['кадастровый_номер']))
if '[свидетельство]' in paragraph.text:
paragraph.text = paragraph.text.replace('[свидетельство]', str(row['свидетельство']))
doc.save(output_path)
for index, row in df.iterrows():
try:
create_document(row)
print(f"Документ для {row['ФИО_должника']} успешно создан.")
except Exception as e:
print(f"Ошибка при создании документа для {row['ФИО_должника']}: {e}")
print("Документы успешно созданы и сохранены в папку 'output_docs'.")
Формат данных в excel:
название столбцов [ФИО_должника] [адрес] [размер задолженности]
далее данные
Так выглядит шаблон заявления
Переименовывать столбцы в excel, менять внешний цикл где вызов функции
Текущий код создаёт лишь один файл на выходе и меняет только [свидетельство] Не могу определить в чём проблема Все столбцы в excel файле я назвал, все ключи соответствую коду [code]import pandas as pd from docx import Document import os
for paragraph in doc.paragraphs: if '[ФИО_должника]' in paragraph.text: paragraph.text = paragraph.text.replace('[ФИО_должника]', str(row['ФИО_должника'])) if '[место_жительства]' in paragraph.text: paragraph.text = paragraph.text.replace('[место_жительства]', str(row['место_жительства'])) if '[дата_и_место_рождения]' in paragraph.text: paragraph.text = paragraph.text.replace('[дата_и_место рождения]', str(row['дата_и_место_рождения'])) if '[данные_паспорта]' in paragraph.text: paragraph.text = paragraph.text.replace('[данные_паспорта]', str(row['паспорт'])) if '[размер_задолженности]' in paragraph.text: paragraph.text = paragraph.text.replace('[размер_задолженности]', str(row['задолженность'])) if '[пошлина]' in paragraph.text: paragraph.text = paragraph.text.replace('[пошлина]', str(row['пошлина'])) if '[период_задолженности]' in paragraph.text: paragraph.text = paragraph.text.replace('[период_задолженности]', str(row['период_задолженности'])) if '[населённый_пункт]' in paragraph.text: paragraph.text = paragraph.text.replace('[населённый_пункт]', str(row['населённый_пункт'])) if '[улица]' in paragraph.text: paragraph.text = paragraph.text.replace('[улица]', str(row['улица'])) if '[дом]' in paragraph.text: paragraph.text = paragraph.text.replace('[дом]', str(row['дом'])) if '[квартира]' in paragraph.text: paragraph.text = paragraph.text.replace('[квартира]', str(row['квартира'])) if '[кадастровый_номер]' in paragraph.text: paragraph.text = paragraph.text.replace('[кадастровый_номер]', str(row['кадастровый_номер'])) if '[свидетельство]' in paragraph.text: paragraph.text = paragraph.text.replace('[свидетельство]', str(row['свидетельство']))
doc.save(output_path)
for index, row in df.iterrows(): try: create_document(row) print(f"Документ для {row['ФИО_должника']} успешно создан.") except Exception as e: print(f"Ошибка при создании документа для {row['ФИО_должника']}: {e}")
print("Документы успешно созданы и сохранены в папку 'output_docs'.") [/code] Формат данных в excel: название столбцов [ФИО_должника] [адрес] [размер задолженности] далее данные Так выглядит шаблон заявления Переименовывать столбцы в excel, менять внешний цикл где вызов функции
Поскольку предложение о отражении только что было принято в черновик C ++ 26, мне интересно, можно ли использовать ожидаемые объекты для автоматического генерации нескольких арифметических операторов для класса? | = , > = , будет ли способ...
Поскольку предложение о отражении только что было принято в черновик C ++ 26, мне интересно, можно ли использовать ожидаемые объекты для автоматического генерации нескольких арифметических операторов для класса? | = , > = , будет ли способ...
Я просматривал это руководство по перегрузке операторов в C++.
Если я попытаюсь реализовать все операторы сравнения с помощью оператора :
friend auto operator(const Some_class& lhs, const Some_class& rhs)
{
if (lhs.x rhs.x) return...
Я пытаюсь открыть файл на C#, затем записать в него текст и завершить сжатием массива байтов в тот же файл. Итак, файл, который я хочу создать, выглядит примерно так:
sometextinascii
somemoretextinascii
BUNCHOFNONHUMANREADABLEBYTES