📊 Papa解析MCP服务器
由Papa Parse提供支持的云托管CSV处理服务。通过简单的API调用解析、验证和转换CSV数据。
🚀 特性
- ✅ 解析CSV -通过智能类型检测将CSV转换为JSON
- ✅ 解析JSON -将JSON数组转换为CSV格式
- ✅ 验证CSV -检查CSV结构,查找错误,检测问题
- ✅ URL支持 -从URL获取和处理CSV文件
- ✅ 智能解析 -自动检测分隔符、处理引号、修剪空格
- ✅ 错误处理 -带有行号的详细错误报告
📖 用例
- 数据导入/导出 -CSV和JSON格式之间的转换
- 数据验证 -处理前验证CSV文件
- ETL工作流 -集成到n8n、Zapier、Make.com
- AI代理 -启用Claude/GPT处理CSV数据
- 批处理 -在云中处理大型CSV文件
🎯 快速开始
操作1:解析CSV
输入:
{
"operation": "parse",
"csvData": "name,age,city\nJohn,30,NYC\nJane,25,LA",
"options": {
"header": true,
"dynamicTyping": true
}
}输出:
{
"success": true,
"operation": "parse",
"data": [
{"name": "John", "age": 30, "city": "NYC"},
{"name": "Jane", "age": 25, "city": "LA"}
],
"rowCount": 2,
"columnCount": 3
}操作2:从URL解析
输入:
{
"operation": "parse",
"csvData": "https://example.com/data.csv"
}操作3:将JSON转换为CSV
输入:
{
"operation": "unparse",
"jsonData": [
{"product": "Laptop", "price": 999, "stock": 50},
{"product": "Mouse", "price": 29, "stock": 200}
]
}输出:
{
"success": true,
"operation": "unparse",
"csv": "product,price,stock\nLaptop,999,50\nMouse,29,200",
"rowCount": 2
}操作4:验证CSV
输入:
{
"operation": "validate",
"csvData": "name,age,city\nJohn,30,NYC\n,25,LA\nBob,invalid,Chicago"
}输出:
{
"success": true,
"operation": "validate",
"isValid": false,
"validations": {
"hasData": true,
"hasHeaders": true,
"hasErrors": false,
"isConsistent": true,
"emptyFields": {
"name": [1]
},
"duplicateHeaders": []
}
}⚙️ 配置选项
支持所有标准Papa Parse选项:
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
header | 布尔值 | true | 第一行包含标题 |
dynamicTyping | 布尔值 | true | 自动转换数字/布尔值 |
skipEmptyLines | 布尔值 | true | 跳过空白行 |
delimiter | 字符串 | "" | 自动检测分隔符 |
newline | 字符串 | "" | 自动检测断线 |
quoteChar | 字符串 | " | 引用字符 |
escapeChar | 字符串 | " | 逃逸角色 |
comments | 字符串/布尔值 | false | 评论字符 |
trimHeaders | 布尔值 | true | 从标题中删除空格 |
🔌 集成示例
与n8n一起使用
- 添加 HTTP请求 节点
- 设置URL:
https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs - 方法:
POST - 正文:您的输入JSON
- 标题:
Authorization: Bearer YOUR_API_TOKEN
与Zapier一起使用
- 添加 Zapier的Webhooks 行动
- 选择 发布
- 网址:
https://api.apify.com/v2/acts/YOUR_ACTOR_ID/run-sync-get-dataset-items - 将您的输入添加为JSON
使用Python
import requests
response = requests.post(
'https://api.apify.com/v2/acts/YOUR_ACTOR_ID/run-sync-get-dataset-items',
json={
'operation': 'parse',
'csvData': 'name,age\nJohn,30\nJane,25'
},
params={'token': 'YOUR_API_TOKEN'}
)
data = response.json()
print(data)使用JavaScript
const response = await fetch(
'https://api.apify.com/v2/acts/YOUR_ACTOR_ID/run-sync-get-dataset-items?token=YOUR_TOKEN',
{
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
operation: 'parse',
csvData: 'name,age\nJohn,30\nJane,25'
})
}
);
const data = await response.json();
console.log(data);🐛 错误处理
actor提供详细的错误信息:
{
"success": true,
"errors": [
{
"type": "Quotes",
"code": "MissingQuotes",
"message": "Quoted field unterminated",
"row": 5
}
]
}📊 演出
- 最多可处理文件 100MB
- 处理速度约为每秒10000行
- 大文件的自动分块
- 内存高效流媒体
🔒 安全
- 没有数据被永久存储
- 所有处理都在隔离的容器中进行
- 仅支持HTTPS CSV URL
- 需要API令牌身份验证
💡 提示
- 大文件:使用URL输入,而不是粘贴大型CSV内容
- 自定义分隔符:设置
delimiter: ";"对于以分号分隔的值 - 标头:设置
header: false如果CSV没有标题行 - 类型转换:禁用
dynamicTyping将所有字段保持为字符串 - 验证:在解析生产数据之前始终进行验证
📝 更新日志
v1.0.0 (2024)
- 初始版本
- 解析、取消解析、验证操作
- URL获取支持
- 全面的错误报告
🆘 支持
- 文档: 爸爸解析文档
- 问题:GitHub上的报告
- 问题: support@apify.com
📄 许可证
MIT许可证-在商业项目中自由使用
______________________________________________________________________
内置❤️ 使用Papa Parse和Apify
