大家好,这里是程序员晚枫,正在all in AI编程实战,上周刚给大家发布了一个功能:仅需1行代码,Excel秒变Markdown!

打算本周再增加更多文件转Markdown的功能,在检索实现方案的过程中,我突然发现:就在前几天,微软自己开源了一个工具:MarkItDown。

我竟然和微软想到一块去了??

微软开源的MarkItDown工具可以帮助你将多种文件格式转换为Markdown格式。

以下是如何使用MarkItDown的基本步骤:

1. 安装MarkItDown

你可以通过pip命令来安装MarkItDown:

1
pip install markitdown

或者从源码安装:
1
pip install -e .

2. 环境准备

MarkItDown需要Python 3.10或更高版本。你可以使用virtualenv或pipenv来创建和管理虚拟环境:

1
2
3
4
5
6
7
8
9
# 使用virtualenv
virtualenv -p python3.10 env
source venv/bin/activate
pip install markitdown

# 使用pipenv
pipenv --python 3.10
pipenv shell
pipenv install markitdown

3. 基本使用

使用MarkItDown转换文件非常简单,首先你需要导入MarkItDown模块并创建一个实例,然后调用convert方法进行转换:

1
2
3
4
from markitdown import MarkItDown
markitdown = MarkItDown()
result = markitdown.convert("python-office.xlsx")
print(result.text_content)

你可以转换多种文件类型,包括PDF、PowerPoint、Word、Excel等。

4. 处理网络资源

你可以直接从URL转换文件,或者处理HTTP响应:

1
2
3
4
5
6
7
8
9
# 直接从URL转换
url_result = markitdown.convert("https://python-office.com/document.pdf")
print(url_result.text_content)

# 处理HTTP响应
import requests
response = requests.get("https://python-office.com/document")
response_result = markitdown.convert(response)
print(response_result.text_content)

5. 处理流式数据

如果你需要处理流式数据,可以使用convert_stream方法:

1
2
3
with open("python-office.pdf", "rb") as f:
result = markitdown.convert_stream(f)
print(result.text_content)

6. 命令行使用

MarkItDown还提供了命令行工具,支持多种输入方式:

1
2
3
4
5
6
# 直接转换文件
markitdown python-office.pdf > output.md
# 通过管道输入
cat python-office.pdf | markitdown > output.md
# 通过重定向输入
markitdown < python-office.pdf > output.md

7. 高级特性

你可以自定义会话和模型,例如集成OpenAI等AI模型来处理图片描述:

1
2
3
4
5
6
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI()
md = MarkItDown(mlm_client=client, mlm_model="gpt-4")
result = md.convert("python-office.jpg")
print(result.text_content)

以上是MarkItDown的基本使用方法,你可以根据需要选择合适的方式来转换文件。更多详细信息和高级用法,可以访问MarkItDown的GitHub仓库:https://github.com/microsoft/markitdown

相关课程


扫一扫,领红包

美团红包

程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!