Python很适合开发各种小工具,比如我最近做的一个markdown转换神器,基于微软的markitdown工具,能将pdf、excel、ppt、word、html等十几种格式文件转换为markdown格式。

先来讲讲markdown,这可以是当今非常火的工具,它是一种轻量标记语言,专门用于编写文档,它使用标记符号代表文档格式,比如# 代表大标题,>代表引用,诸如此类。

你看到的AI大模型输出的文本都是markdown格式,各种博客编辑器也都是markdown格式,现在出现频率非常之高。
我一直用都用markdown写自媒体技术文章,它不像word或者富媒体编辑器,格式以来固定的编辑工具,markdown是一次编写,格式永久保存,在任何markdown编辑器都可以渲染成统一格式。
这几天逛github发现有一个专门将其他文档转换为markdown格式的Python库markitdown,是微软开发的一个项目,有7万多star,用下来非常强大。

markitdown是Python的一个第三方库,它的优势在于非常轻量化,而且api简单,在将其他文档内容转换为markdown格式的同时,还能保留文档格式,比如表格、标题、链接之类。
目前它能转换十几种文档为mrakdown格式。
- PowerPoint
- Word
- Excel
- 图像
- 音频
- HTML
- 基于文本的格式(CSV, JSON, XML)
- ZIP 文件
- YouTube URL
- EPubs
安装markitdown也很简单,搭好虚拟环境后直接使用pip安装:
pip3 install 'markitdown[all]'

然后使用简单的代码就可以将excel、pdf、ppt转换为markdown格式。
比如转换Excel文件。
from markitdown import MarkItDown
md = MarkItDown(enable_plugins=False)
result = md.convert("test.xlsx")
print(result.text_content)

excel原文件如下,可见markitdown很好的将excel转为markdown格式了。

转换pdf,可以传入参数docintel_endpoint="<document_intelligence_endpoint>",指定进行更高级的转换。

MarkItDown方法里还可以传入各种参数,帮助更好的进行转换,根据需求来调用。

也可以直接在命令行里对文件进行markdown格式转换,代码如下:
markitdown path-to-file.pdf > document.md
我特地写了一个web程序,集成了markitdown的转换功能,这样不用写代码,直接拖拉拽就能实现转化。
1459

被折叠的 条评论
为什么被折叠?



