name: file-converter description: 该技能处理文档(PDF、DOCX、Markdown、HTML、TXT)、数据文件(JSON、CSV、YAML、XML、TOML)和图像(PNG、JPG、WebP、SVG、GIF)之间的格式转换。当用户请求在不同格式之间转换、转换或导出文件时使用。根据具体请求动态生成转换代码。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill
文件格式转换器
概述
在三大类别之间转换文件格式:文档、数据文件和图像。为每个转换请求动态生成Python代码,选择合适的库并处理边缘情况。
转换类别
文档
| 源格式 | 目标格式 | 推荐库 |
|---|---|---|
| Markdown | HTML | markdown 或 mistune |
| HTML | Markdown | markdownify 或 html2text |
| HTML | weasyprint 或 pdfkit(需要wkhtmltopdf) |
|
| 文本 | pypdf 或 pdfplumber |
|
| DOCX | Markdown | mammoth |
| DOCX | docx2pdf(Windows/macOS)或LibreOffice CLI |
|
| Markdown | 先转换为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- 质量设置、透明度、色彩配置文件
处理边缘情况或用户有特定质量/保真度要求时,请查阅这些参考资料。