You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按指定规则将CSV格式数据转换为目标结构的JSON数据

CSV转指定结构JSON可行方案(无需Python)

以下是3种不同场景的落地方法,可根据你的技术基础选择:

方案1:Excel/Google Sheets公式批量处理(适合非技术人员)

先将CSV内容导入表格,确认你的CSV至少包含title、是否共享给组织、共享用户ID列表、筛选字段、比较符、筛选值几列:

  • 比较符转换:用IF函数做映射,假设比较符存储在E列,公式为:
    =IF(E1="equals","==",IF(E1="not equal","!=",IF(E1="contains","=@",IF(E1="does not contain","!=@",""))))
  • 共享用户列表转换:如果用户ID是逗号分隔的字符串,转成JSON数组格式,假设用户ID存储在C列,公式为:
    =IF(C1="","[]","["&TEXTJOIN(",",TRUE,ARRAYFORMULA(""""&SPLIT(C1,",")&""""))&"]")
  • 布尔值转换:如果"是否共享给组织"列是"是/否"值,转成标准布尔值,假设该字段存储在B列,公式为:
    =IF(B1="是",true,false)
  • 最后拼接单条JSON结构,示例公式:
    ="{""title"":"""&A1&""",""sharedWithOrganization"":"&D1&",""sharedWithUsers"":"&F1&",""filters"":[{""field"":"""&G1&""",""comparator"":"""&H1&""",""value"":"""&I1&"""}]}"
    所有行处理完成后,把生成的JSON字符串用逗号拼接,外层加[]即可得到合法JSON数组。

方案2:浏览器JS控制台批量处理(适合有少量代码基础的用户)

按F12打开任意浏览器的开发者控制台,粘贴以下代码,替换csvContent变量为你自己的CSV内容,执行即可直接输出格式化的结果:

// 比较符映射规则
const comparatorMap = {
  'equals': '==',
  'not equal': '!=',
  'contains': '=@',
  'does not contain': '!=@'
}
// 替换为你实际的CSV内容
const csvContent = `title,sharedWithOrganization,sharedWithUsers,field,comparator,value
view3,false,81241,81242,81245,81265,Account ID,equals,prod
view3,true,,Environment_AG,contains,Development`

const lines = csvContent.split('\n').filter(line => line.trim())
const headers = lines[0].split(',')
const result = lines.slice(1).map(line => {
  const values = line.split(',')
  const row = {}
  headers.forEach((h, i) => row[h] = values[i]?.trim() || '')
  return {
    title: row.title,
    sharedWithOrganization: row.sharedWithOrganization.toLowerCase() === 'true',
    sharedWithUsers: row.sharedWithUsers ? row.sharedWithUsers.split(',').filter(id => id.trim()).map(id => id.trim()) : [],
    filters: [{
      field: row.field,
      comparator: comparatorMap[row.comparator] || row.comparator,
      value: row.value
    }]
  }
})
console.log(JSON.stringify(result, null, 2))

注意:如果你的CSV中共享用户ID用的是逗号以外的分隔符,把代码里split(',')的逗号替换为实际分隔符即可

方案3:手动拼接(适合数据量小于10条的场景)

直接对照目标格式手动填充:

  • 先把比较符按照规则替换为对应符号
  • 共享用户列表为空时填[],有值时每个ID用双引号包裹,逗号分隔放入数组
  • sharedWithOrganization字段直接填true/false,不需要加引号

内容的提问来源于stack exchange,提问作者kakaji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:18:03