import os
from docx import Document
def merge_docx_files(folder_path, output_file):
# Создаем новый документ
merged_document = Document()
# Получаем список файлов в папке
files = os.listdir(folder_path)
# Обрабатываем каждый файл
for file in files:
# Проверяем, что файл имеет расширение .docx
if file.endswith(".docx"):
file_path = os.path.join(folder_path, file)
# Открываем файл
doc = Document(file_path)
# Копируем содержимое каждого файла в объединенный документ
for element in doc.element.body:
merged_document.element.body.append(element)
# Сохраняем объединенный документ в выходной файл
merged_document.save(output_file)
input_folder = r"C:\docx"
output_file = r"C:\docx\merged.docx"
merge_docx_files(input_folder, output_file)
from docx import Document
merged_doc = Document()
file_names = ["file1.docx", "file2.docx", "file3.docx"]
for file_name in file_names:
doc = Document(file_name)
for element in doc.element.body:
if isinstance(element, docx.oxml.table.CT_Tbl):
new_table = merged_doc.add_table(rows=0, cols=len(element[0]))
for row in element:
new_row = new_table.add_row().cells
for i, cell in enumerate(row):
new_row[i].text = cell.text
else:
merged_doc.element.body.append(element)
if file_name != file_names[-1]:
merged_doc.add_page_break()
merged_doc.save("merged.docx")