批量合并word txt文件

今天遇到这样一个需求,将文件夹下的word 和 txt文件合并为一个word文件,给大家分享一下我开打的代码。供大家参考,有帮到的铁子可以加关注 收藏 点赞!!! 万分感谢!!!

1 导入包

from docx import Document
import os

2 代码

def convert_to_docx_content(txt_path):
    with open(txt_path, 'r', encoding='gbk') as file:
        content = file.read()
    filename = os.path.basename(txt_path)
    return f'文件名: {filename}\n{content}'
def merge_files_to_docx(folder_path, output_docx_path): ## 合并指定文件夹下的所有.docx和.txt文件到一个docx文件
    doc = Document()
    # 遍历文件夹中的所有文件
    for filename in os.listdir(folder_path):
        if filename.endswith(('.docx', '.txt')):
            file_path = os.path.join(folder_path, filename)
            if filename.endswith('.txt'):
                content_with_filename = convert_txt_to_docx_content(file_path)
                doc.add_paragraph(content_with_filename)  # 添加内容到docx文件中
            else:
                sub_doc = Document(file_path)
                doc.add_paragraph(f'文件名: {filename}')
                for para in sub_doc.paragraphs:
                    new_para = doc.add_paragraph(para.text)
    doc.save(output_docx_path)
folder_path = r'E:\20240905\文件'  # 更改为你的文件夹路径
output_docx_path = r'E:\20240905\文件\合并.docx'  # 输出的docx文件名
convert_to_docx_content(folder_path, output_docx_path)

结果不方便在这里展示,大家可以试试!!!

你可能感兴趣的:(word)