|
|
| 名称 |
file-converter |
| 描述 |
该技能处理文档(PDF、DOCX、Markdown、HTML、TXT)、数据文件(JSON、CSV、YAML、XML、TOML)和图像(PNG、JPG、WebP、SVG、GIF)之间的格式转换。当用户请求在不同格式之间转换、转换或导出文件时使用。根据具体请求动态生成转换代码。 |
| 作者 |
Joseph OBrien status: unpublished updated: ‘2025-12-23’ |
| 版本 |
1.0.1 tag: skill type: skill |
文件格式转换器
概述
在三大类别之间转换文件格式:文档、数据文件和图像。为每个转换请求动态生成Python代码,选择合适的库并处理边缘情况。
转换类别
文档
| 源格式 |
目标格式 |
推荐库 |
| Markdown |
HTML |
markdown 或 mistune |
| HTML |
Markdown |
markdownify 或 html2text |
| HTML |
PDF |
weasyprint 或 pdfkit(需要wkhtmltopdf) |
| PDF |
文本 |
pypdf 或 pdfplumber |
| DOCX |
Markdown |
mammoth |
| DOCX |
PDF |
docx2pdf(Windows/macOS)或LibreOffice CLI |
| Markdown |
PDF |
先转换为HTML,再转换为PDF |
数据文件
| 源格式 |
目标格式 |
推荐库 |
| JSON |
YAML |
pyyaml |
| YAML |
JSON |
pyyaml |
| JSON |
CSV |
pandas 或标准库 csv + json |
| CSV |
JSON |
pandas 或标准库 csv + json |
| JSON |
TOML |
tomli/tomllib(读取)+ tomli-w(写入) |
| XML |
JSON |
xmltodict |
| JSON |
XML |
dicttoxml 或 xmltodict.unparse |
图像
| 源格式 |
目标格式 |
推荐库 |
| PNG/JPG/WebP/GIF |
任何栅格格式 |
Pillow (PIL) |
| SVG |
PNG/JPG |
cairosvg 或 svglib + reportlab |
| PNG |
SVG |
potrace(CLI)用于描摹,保真度有限 |
工作流程
- 识别源格式(通过文件扩展名或用户说明)
- 识别目标格式
- 检查
references/ 获取特定格式的指导
- 使用推荐库生成转换代码
- 处理边缘情况(编码、透明度、嵌套结构)
- 执行转换并报告结果
快速模式
数据:JSON 转 YAML
import json
import yaml
with open("input.json") as f:
data = json.load(f)
with open("output.yaml", "w") as f:
yaml.dump(data, f, default_flow_style=False, allow_unicode=True)
数据:CSV 转 JSON
import csv
import json
with open("input.csv") as f:
reader = csv.DictReader(f)
data = list(reader)
with open("output.json", "w") as f:
json.dump(data, f, indent=2)
文档:Markdown 转 HTML
import markdown
with open("input.md") as f:
md_content = f.read()
html = markdown.markdown(md_content, extensions=["tables", "fenced_code"])
with open("output.html", "w") as f:
f.write(html)
图像:PNG 转 WebP
from PIL import Image
img = Image.open("input.png")
img.save("output.webp", "WEBP", quality=85)
图像:SVG 转 PNG
import cairosvg
cairosvg.svg2png(url="input.svg", write_to="output.png", scale=2)
资源
复杂转换的详细指南位于 references/ 目录中:
references/document-conversions.md - PDF处理、编码问题、样式保留
references/data-conversions.md - 模式处理、类型强制、嵌套结构
references/image-conversions.md - 质量设置、透明度、色彩配置文件
处理边缘情况或用户有特定质量/保真度要求时,请查阅这些参考资料。