网易首页 > 网易号 > 正文 申请入驻

一段神奇的Python代码,拿走不谢

0
分享至

大家好,我是章北海

我现在连写文档也要用Cursor了,WordMarkdown是刚需

分享一个上周写的Python脚本,用于将Microsoft Word文档(.docx)转换为Markdown格式,同时保留文档中的格式和图片。

from docx import Document
from PIL import Image
import os
from base64 import b64encode
from docx.shape import InlineShape

def docx_to_markdown(docx_path, output_dir):
     # 创建输出目录 
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
     # 创建 images 子目录 
    images_dir = os.path.join(output_dir, 'images')
    if not os.path.exists(images_dir):
        os.makedirs(images_dir)
    
     # 打开 docx 文件 
    doc = Document(docx_path)
    markdown_content = []
    
     # 处理每个段落 
    for para in doc.paragraphs:
         # 提取文本 
        text = para.text
        
         # 处理段落中的图片 
        for run in para.runs:
            if run._element.drawing_lst:
                for drawing in run._element.drawing_lst:
                     # 获取图片关系 ID 
                    rid = drawing.xpath('.//a:blip/@r:embed')[0]
                    image = doc.part.related_parts[rid]
                    
                     # 保存图片 
                    image_filename = f'image_{len(os.listdir(images_dir))}.png'
                    image_path = os.path.join(images_dir, image_filename)
                    with open(image_path, 'wb') as f:
                        f.write(image.blob)
                    
                     # 添加 markdown 图片语法 
                    text += f'\n![image](images/{image_filename})\n'
        
         # 添加到 markdown 内容 
        markdown_content.append(text)
    
     # 写入 markdown 文件 
    output_path = os.path.join(output_dir, 'output.md')
    with open(output_path, 'w', encoding='utf-8') as f:
        f.write('\n\n'.join(markdown_content))
    
    return output_path

 # 使用示例 
docx_path = '你的文档路径.docx'
output_dir = '输出目录路径'
markdown_file = docx_to_markdown(docx_path, output_dir)
脚本功能
  • 文本转换:将docx文档中的段落文本转换为Markdown格式。

  • 图片处理:提取文档中的图片并保存到images文件夹中,同时在Markdown文件中插入相应的图片引用。

在运行此脚本之前,请确保已安装以下软件:

  • Python 3.6或更高版本

  • pipPython包管理器)

安装
  1. 拷贝代码在的本地计算机。

  2. 使用以下命令安装所需的Python库:

    pip install python-docx Pillow
使用方法
  1. 将您要转换的.docx文件放在项目目录中。

  2. 打开docx_to_markdown.py文件,并根据需要修改以下变量:

    docx_path = '你的文档路径.docx'
    output_dir = '输出目录路径'
  • docx_path:要转换的 docx 文件的路径。

  • output_dir:生成的 Markdown 文件和图片的输出目录。

在终端中运行脚本:

python docx_to_markdown.py

转换完成后,您将在指定的输出目录中找到output.md文件和images文件夹。output.md是转换后的Markdown文件,images文件夹中包含文档中的所有图片。

其实还能改成批量处理,感兴趣可以试试。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
1元蹲蹲杯,8毛1.5米抄网等!超多好东西速度捡漏!

1元蹲蹲杯,8毛1.5米抄网等!超多好东西速度捡漏!

挖机阁
2026-01-23 19:33:31
火爆 《月光奏鸣曲》王大海陈芷晴

火爆 《月光奏鸣曲》王大海陈芷晴

时间复利银行
2026-01-16 21:32:46
专家提醒:不要买!不要吃!里面含有硼砂,危害健康,别害了自己

专家提醒:不要买!不要吃!里面含有硼砂,危害健康,别害了自己

蜉蝣说
2025-10-31 10:56:39
四年赔光74亿,华谊兄弟的倒台,从背刺周星驰的时候,就早有预兆

四年赔光74亿,华谊兄弟的倒台,从背刺周星驰的时候,就早有预兆

芳芳历史烩
2026-01-23 20:58:05
抛夫弃子远嫁富商,与刀郎离婚34载后的杨娜,如今竟活成了这样!

抛夫弃子远嫁富商,与刀郎离婚34载后的杨娜,如今竟活成了这样!

火之文
2026-01-20 14:22:24
好消息!武汉明确:计划再扩招8000人!

好消息!武汉明确:计划再扩招8000人!

蔡甸在线
2026-01-23 12:07:07
金价大概会涨到多少钱1克才会跌?深度分析!

金价大概会涨到多少钱1克才会跌?深度分析!

趣味萌宠的日常
2026-01-23 12:08:53
薛凯琪年会美到家!肉丝美腿配高跟凉鞋,黄金比例是真实存在的?

薛凯琪年会美到家!肉丝美腿配高跟凉鞋,黄金比例是真实存在的?

娱乐领航家
2025-12-25 17:10:02
转播计划全公布!U23国足战日本队决赛前瞻:主帅认为差距很大

转播计划全公布!U23国足战日本队决赛前瞻:主帅认为差距很大

西昆仑Bruce
2026-01-24 02:28:28
抓紧洗晒!河南“晴天卡”仅剩2天,新一轮雨雪锁定周日,或含冻雨

抓紧洗晒!河南“晴天卡”仅剩2天,新一轮雨雪锁定周日,或含冻雨

鲁中晨报
2026-01-23 07:07:02
外交部前副部长披露:香港回归之前,英国方面每年都能从香港掠走逾千亿元财富

外交部前副部长披露:香港回归之前,英国方面每年都能从香港掠走逾千亿元财富

史海孤雁
2026-01-14 18:01:15
牵绳遛狗被群殴后续:打人者正脸曝光,地址被扒,狗主人反被罚款

牵绳遛狗被群殴后续:打人者正脸曝光,地址被扒,狗主人反被罚款

丁丁鲤史纪
2026-01-22 18:04:40
西媒称阿韦洛亚劝阿诺德夏窗离队,邮报:这一报道毫无根据

西媒称阿韦洛亚劝阿诺德夏窗离队,邮报:这一报道毫无根据

懂球帝
2026-01-24 02:28:02
中国油轮又被美军强制扣押,第7艘了!特朗普对华海上封锁已打响

中国油轮又被美军强制扣押,第7艘了!特朗普对华海上封锁已打响

小偀说故事
2026-01-21 21:36:00
美国多地宣布进入紧急状态,上亿民众收到警报

美国多地宣布进入紧急状态,上亿民众收到警报

澎湃新闻
2026-01-23 18:00:10
Netflix最新悬疑犯罪片,本马达兄弟黑金大案

Netflix最新悬疑犯罪片,本马达兄弟黑金大案

追剧九号厅
2026-01-21 13:41:42
上海110-80福建4利好!弗格终于回暖,2小将进步,古德温立竿见影

上海110-80福建4利好!弗格终于回暖,2小将进步,古德温立竿见影

篮球资讯达人
2026-01-24 01:45:05
曝理想汽车将关闭门店,工厂“被放假”

曝理想汽车将关闭门店,工厂“被放假”

电动知家
2026-01-23 10:38:03
成人版“抖*阴” ,终于还是凉凉了 !

成人版“抖*阴” ,终于还是凉凉了 !

肇庆之星
2021-04-23 08:33:36
林肯号航母前任舰长:全球首位女航母舰长 比99%的男人还男人

林肯号航母前任舰长:全球首位女航母舰长 比99%的男人还男人

装甲铲史官
2026-01-22 12:01:20
2026-01-24 03:51:00
机器学习与Python社区 incentive-icons
机器学习与Python社区
机器学习算法与Python
3245文章数 11083关注度
往期回顾 全部

科技要闻

TikTok守住了算法"灵魂" 更握紧了"钱袋子"

头条要闻

疑在达沃斯受挫 79岁的特朗普转发超80条帖子发泄怒气

头条要闻

疑在达沃斯受挫 79岁的特朗普转发超80条帖子发泄怒气

体育要闻

杜兰特鏖战44分钟累瘫 轰36+7却致命失误

娱乐要闻

演员孙涛澄清闫学晶言论 落泪维护妻子

财经要闻

2026年,消费没有新故事?

汽车要闻

主打家庭大六座 奕境首款SUV将北京车展亮相

态度原创

游戏
教育
本地
家居
公开课

没有鼠群了!《瘟疫传说》新作回归15年前

教育要闻

天大在津招生680人!历史新高必看

本地新闻

云游中国|格尔木的四季朋友圈,张张值得你点赞

家居要闻

在家度假 160平南洋混搭宅

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版