将Word(docx格式)批量转为Markdown格式

批量转换格式

首先,利用pandoc先将文件夹内的docx格式文档转为md格式。可以直接在目录下执行下面的powershell命令。

这一步我其实写了python脚本,但不知为何一直无法正确执行,可能是目录格式的原因,改天再琢磨一下。PS其实也蛮简单的

Get-ChildItem -Recurse -Filter *.docx | ForEach-Object {
  pandoc -o ($_.FullName + '.md') $_.FullName
}

将目录下的文档合并为一个Markdown文件

第二步是调用下面的python命令,将目录下的文档合并为一个md文件。合并完成后,可以在文件夹内找到一个名为“合并”的md文件

import os

# 将合并后的Markdown文件保存至目录下
def saveContent(data,path):
    with open(path+"合并.md","a+",encoding='utf-8') as targetFile:
        targetFile.writelines(data)
        print("文件已保存")

def getFileList(fileList):
    # md待合并分散文件目录
    all_md_files = []
    # 获取目录下的md文件, 并保存
    for file_name in fileList:
        try:
            if file_name[-3:] == ".md":
                all_md_files.append(file_name)
        except Exception as e:
            print(e)
    return all_md_files

# 在md文件中遍历合并项
def combineFiles(mdFileList,path):
    for md in mdFileList:
        md_file=path +'/'+md
        print("已完成"+md+"遍历")
        with open(md_file,'r',encoding='utf-8') as file:
            data=file.read()+"\n"
            saveContent(data,path)

def start():
    path="D:/“中国这十年”专题新闻发布会实录汇总/"
    # 检索目录下所有文件
    allFilesName=os.listdir(path)
    # 检索全部文件中的Markdown文件
    mdFilesName=getFileList(allFilesName)
    # 对Markdown文件执行合并操作
    combineFiles(mdFilesName,path)
    print("处理完成")

start()
posted @ 2022-10-03 22:44  启真湖畔的佐时雨  阅读(2722)  评论(0)    收藏  举报