用python将word文档合并实例代码

  • Post category:Python

以下是用Python将Word文档合并的详细实例教程。

1. 调用Python-docx库

首先,我们需要将Python-docx库导入到代码中,Python-docx是一个Python读取,查询和修改Word文档的库,我们可以使用它来合并Word文档。

import docx

2. 创建合并Word文档的函数

我们需要创建一个函数来合并Word文档。该函数将取一个文件夹的路径为参数,并通过该文件夹中的所有文档来提取文本,并将它们添加到一个新的文档中。

def merge_word_docs(folder_path, output_file_name):
    doc = docx.Document()
    for filename in os.listdir(folder_path):
        if filename.endswith('.docx'):
            doc_to_merge = docx.Document(os.path.join(folder_path, filename))
            for paragraph in doc_to_merge.paragraphs:
                doc.add_paragraph(paragraph.text)
            for table in doc_to_merge.tables:
                doc.add_table(table)
    doc.save(output_file_name)

在上面的代码中,我们创建了一个名为“merge_word_docs”的函数,该函数将取两个参数:一个包含要合并文档的文件夹路径和要生成的最终文档的文件名。

在代码的主体中,我们先创建了一个新文档对象“doc”,然后使用“os.listdir()”函数遍历要合并的文件夹中的所有文件,只有以“.docx”结尾的文件才会被合并。

然后,我们创建了一个名为“doc_to_merge”的变量,并将其设置为我们正在循环的每个文件的“docx.Document”对象。接下来,我们遍历了该文件的段落并使用“doc.add_paragraph()”方法将其添加到新文档中。最后,我们遍历了文档中的所有表格,并将其添加到新文档的表格中。

最后,我们调用“doc.save()”方法将新文档保存到我们指定的文件名。

3. 示例说明

示例1:合并两个Word文档

假设我们有两个Word文档:doc1.docx和doc2.docx,我们想要将它们合并成一个名为“merged_doc.docx”的文档。

我们需要创建一个名为“docs”文件夹,并将这两个文档放在其中。然后,我们可以通过以下方式调用“merge_word_docs()”函数来将它们合并:

folder_path = r"C:\Users\Username\Documents\docs"
output_file_name = r"C:\Users\Username\Documents\merged_doc.docx"
merge_word_docs(folder_path, output_file_name)

示例2:合并多个Word文档

现在假设我们想要合并命名为doc1.docx,doc2.docx和doc3.docx的三个Word文档,并将其保存为“merged_doc.docx”。

我们需要将这三个文档放在一个名为“docs”文件夹中,并按照上文中的方式调用“merge_word_docs()”函数进行合并。

folder_path = r"C:\Users\Username\Documents\docs"
output_file_name = r"C:\Users\Username\Documents\merged_doc.docx"
merge_word_docs(folder_path, output_file_name)

以上就是用Python将Word文档合并的完整实例教程。