📌 内容摘要
- Claude 支持上传 PDF、Word、Excel、代码文件、图片等多种格式,单文件最大约 32MB。
- 不同格式有不同的处理方式——PDF 提取文字、图片识别内容、代码直接分析,了解差异才能用对。
- 本文覆盖6类文件格式的上传方法、实战技巧和常见坑,附高质量 Prompt 模板。
- 文末说明 Projects 知识文件和对话临时上传的区别,帮你选对上传方式。
一、Claude 支持哪些文件格式?
| 文件类型 | 支持格式 | 处理方式 | 适合任务 |
|---|---|---|---|
| 文档类 | PDF、Word(.docx)、TXT、Markdown | 提取文字内容 | 摘要、问答、翻译、分析 |
| 表格类 | CSV、Excel(.xlsx/.xls) | 读取表格数据 | 数据分析、统计、清洗 |
| 图片类 | PNG、JPG、GIF、WebP | 视觉识别(Vision) | 截图分析、图表解读、OCR |
| 代码类 | .py、.js、.ts、.go、.java 等 | 直接读取文本 | 审查、调试、重构、文档 |
| 数据类 | JSON、XML、YAML | 直接读取文本 | 格式转换、提取、验证 |
| 其他 | HTML、LaTeX | 直接读取文本 | 内容分析、转换 |
音频(MP3、WAV)、视频(MP4、MOV)、压缩包(ZIP、RAR)、可执行文件(EXE、DMG)目前不支持上传。如果你需要处理这些格式的内容,需要先转换成文本或图片格式再上传。
二、如何上传文件?
claude.ai 网页版
在对话输入框左侧找到回形针图标(附件按钮),点击后选择文件,或者直接把文件拖拽到对话窗口里。上传完成后会显示文件缩略图,确认无误后输入你的问题发送即可。
可以同时上传多个文件(通常最多5个),Claude 会综合所有文件的内容来回答。
Claude 手机 App
点击输入框旁的「+」按钮,选择「从文件上传」或「从相册选择」(图片)。手机端上传适合快速分析截图、拍照处理纸质文件。
API 上传(开发者)
import anthropic
import base64
from pathlib import Path
client = anthropic.Anthropic()
def upload_and_analyze(file_path: str, question: str) -> str:
"""上传文件并提问"""
path = Path(file_path)
file_data = path.read_bytes()
encoded = base64.standard_b64encode(file_data).decode()
# 根据扩展名判断媒体类型
media_types = {
".pdf": "application/pdf",
".png": "image/png",
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".gif": "image/gif",
".webp": "image/webp",
}
media_type = media_types.get(path.suffix.lower(), "text/plain")
# 文本类文件直接读取,不需要 base64
if path.suffix.lower() in [".txt", ".md", ".py", ".js", ".ts", ".csv", ".json"]:
content = path.read_text(encoding="utf-8")
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=2048,
messages=[{
"role": "user",
"content": f"以下是文件 {path.name} 的内容:\n\n```\n{content}\n```\n\n{question}"
}]
)
else:
# 二进制文件(PDF、图片)用 base64 编码
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=2048,
messages=[{
"role": "user",
"content": [
{
"type": "document" if media_type == "application/pdf" else "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": encoded,
}
},
{"type": "text", "text": question}
]
}]
)
return message.content[0].text
三、PDF 文件处理技巧
PDF 是最常见的上传格式,也是坑最多的格式。了解 Claude 处理 PDF 的机制,能避免很多问题。
Claude 如何处理 PDF
Claude 上传 PDF 时,会提取文字内容进行分析。这意味着:
- 文字清晰的 PDF(如直接导出的合同、报告):效果极好,能准确提取所有内容
- 扫描版 PDF(照片扫描成的 PDF):效果取决于扫描质量,字迹清晰的可以正常识别
- 图片内嵌大量图表的 PDF:文字部分能提取,图表里的数据可能需要特别指出
- 加密/受保护的 PDF:通常无法处理,需要先去除保护
PDF 分析的高效 Prompt
【合同审查 Prompt】 请分析这份合同,重点关注: 1. 合同双方的核心义务(分别列出甲乙方各自需要做什么) 2. 付款条款(金额、时间节点、支付方式) 3. 违约条款(违约情形和对应后果) 4. ⚠️ 对我方不利的条款(用红色标注建议) 5. 缺失但通常应有的条款 请用表格整理核心条款,最后给出"是否建议签署"的判断和理由。
【研究报告摘要 Prompt】 这是一份行业研究报告,请: 1. 用100字概括报告核心结论 2. 提取5个最重要的数据点(含具体数字) 3. 列出报告中提到的主要风险因素 4. 找出报告对[我所在行业/公司]最有参考价值的3个洞察 5. 指出报告的局限性或值得质疑的地方
【多 PDF 对比分析 Prompt】 (同时上传多份 PDF) 这是三家供应商提交的投标文件,请对比分析: - 报价总额和付款方式 - 交付时间承诺 - 技术方案差异 - 售后服务条款 以表格形式对比,最后给出综合推荐意见。
四、表格文件(Excel/CSV)处理技巧
上传表格数据时,Claude 能直接读取数据内容,但有几点需要注意:
最佳实践
- CSV 优先于 Excel:Excel 文件有时格式复杂(多个 Sheet、合并单元格、公式),CSV 是纯数据,Claude 处理更稳定
- 说明字段含义:如果字段名不够直观,在 Prompt 里加一行说明,如”字段含义:order_amt = 订单金额(元),user_id = 用户唯一标识”
- 大数据集先描述再提问:超过1000行的数据集,先问”这份数据包含哪些字段?总共多少行?”确认 Claude 正确读取后再做分析
数据分析 Prompt 模板
【数据快速摸底】 这是我们上个月的销售数据,请先做一个数据概览: 1. 总共多少条记录?时间范围? 2. 各字段的数据类型和含义(如有不确定的字段请指出) 3. 有没有明显的数据质量问题(缺失值、异常值、重复行) 4. 三个最值得关注的数据特征 然后回答:上月哪个产品类别的销售额最高?哪个地区的客单价最高?
【数据清洗指导】 这份 CSV 需要清洗,请: 1. 找出所有格式不统一的字段(如日期格式混乱、金额有些带"元"有些不带) 2. 列出空值比例超过10%的字段 3. 给出数据清洗的 Python 代码(用 pandas),包括: - 日期字段统一为 YYYY-MM-DD 格式 - 金额字段转为浮点数 - 去除重复行 - 空值处理策略(说明建议值)
五、图片文件处理技巧
Claude 的图片识别能力(Vision)远超一般人的预期,不止是”看图说话”,而是真正理解图片中的文字、数据、结构和逻辑。
图片处理最强的几个场景
截图分析
(上传报错截图) 这是程序运行时的报错截图,请: 1. 说明报错的根本原因 2. 给出修复方案(含代码) 3. 说明如何避免同类问题
UI/设计稿评审
(上传设计稿截图) 这是我们 App 新版登录页的设计稿,请从以下角度评审: 1. 用户体验:操作流程是否顺畅?有没有用户可能困惑的地方? 2. 视觉层次:信息优先级是否清晰? 3. 可访问性:文字大小、对比度是否符合规范? 4. 具体改进建议(至少3条)
图表数据提取
(上传含图表的截图) 这是竞品报告里的用户增长趋势图,请: 1. 提取图中每个时间节点的具体数据(整理成表格) 2. 分析增长趋势的关键拐点 3. 与行业平均水平(如你知道的话)做横向比较
手写内容识别
(上传会议白板照片) 这是我们今天头脑风暴的白板照片,请: 1. 识别并整理所有文字内容 2. 按主题分类整理成结构化笔记 3. 补充每个要点的简短说明 4. 标记其中3个最值得深入探讨的想法
图片上传的注意事项
- 图片分辨率越高,识别效果越好;低分辨率截图可能识别不准确
- 单张图片有 token 限制,超大图片会被压缩处理,建议控制在 5MB 以内
- 连续多张图片(如扫描的多页文档),建议合并成 PDF 上传,效果比多张图片更好
- 含有大量小字的图片(如密密麻麻的表格),效果可能不如直接上传 PDF
六、代码文件处理技巧
上传代码文件比直接粘贴代码有几个优势:保留了文件名(让 Claude 知道上下文)、不占用对话消息的可读性、可以同时上传多个相关文件。
常见用法
(同时上传 models.py + views.py + serializers.py) 这是我们 Django 项目的三个核心文件,请: 1. 找出代码中的潜在 Bug(重点看边界条件和错误处理) 2. 识别性能问题(特别是 ORM 查询优化空间) 3. 指出违反 Django 最佳实践的地方 4. 给出优先级排序后的改进建议清单
(上传新员工写的代码文件) 这是新入职工程师写的第一个模块,请给他写一份建设性的 Code Review 反馈: - 先肯定做得好的地方(具体指出) - 再提出需要改进的问题(按严重性分级:必须改/建议改/可以考虑) - 每个问题附上修改后的代码示例 - 语气鼓励,适合刚入职的同学
七、两种上传方式的区别
| 维度 | 对话临时上传 | Projects 知识文件 |
|---|---|---|
| 有效范围 | 仅当前对话 | 整个项目所有对话 |
| 是否需要重复上传 | 每次新对话需要重新上传 | 一次上传永久可用 |
| 适合什么文件 | 临时性、一次性的文件 | 长期参考的核心文档 |
| token 消耗 | 仅当前对话计费 | 每次对话都计费 |
| 文件数量限制 | 通常最多5个/次 | 最多20个/项目(Pro) |
| 团队共享 | 不可共享 | Team版可共享 |
选择原则:今天处理一份合同 → 临时上传;每周都需要对照公司规范写内容 → 放进 Projects。
八、常见问题与解决方案
Q:上传 PDF 后 Claude 说”无法读取文件内容”怎么办?
最常见原因是 PDF 有密码保护或加密。解决步骤:1)尝试用 Adobe Acrobat 或在线工具去除 PDF 保护;2)如果是扫描 PDF,试试提高扫描分辨率(建议 300DPI 以上)重新扫描;3)实在不行,把 PDF 内容复制粘贴成文本上传。
Q:Excel 文件上传后数据不完整或格式混乱?
Excel 的多 Sheet、合并单元格、公式引用等特性有时会影响解析。建议先把需要分析的数据复制到单独的 Sheet,另存为 CSV 格式再上传。CSV 是纯数据格式,解析最稳定。
Q:图片文字识别不准确怎么提高准确率?
提高图片质量是最有效的方法:确保分辨率 ≥ 200DPI、文字和背景对比度高、避免倾斜拍摄。如果是手机拍摄的文件,用扫描 App(如 Office Lens、扫描全能王)处理后再上传,效果比直接拍照好很多。
Q:同时上传多个文件,Claude 会混淆内容吗?
一般不会,但建议在 Prompt 里用文件名区分,例如”合同A(vendor_a.pdf)里的付款条款是什么?”而不是”合同里的付款条款是什么?”。明确指向减少歧义,Claude 的引用准确率会更高。
Q:文件内容会被 Anthropic 用于训练模型吗?
根据 Anthropic 政策,Pro 版和 API 用户的对话(含上传文件)默认不用于训练模型。免费版用户可以在设置中查看和调整数据使用选项。涉及高度敏感内容(如未公开财务数据、个人隐私信息),建议脱敏后再上传。
总结
Claude 的文件上传功能已经远超”简单阅读文件”的范畴——它能理解文件结构、提取关键信息、跨文件对比分析、把数据转化为洞察。用好它的关键在于两点:选择合适的文件格式(CSV 比 Excel 稳定、高清图片比模糊截图准确),以及给出清晰的任务指令(说明你想要什么,而不是期待 Claude 猜)。对于长期反复使用的核心文档,把它放进 Projects 知识文件是最省事的方式。