今天遇到这样一个需求,将文件夹下的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)
结果不方便在这里展示,大家可以试试!!!