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

CSV列含多值时如何导入Neo4j并拆分为独立节点?

解决Neo4j导入CSV多值字段拆分节点问题

你的核心问题是CSV中Yapimci列的多值未被拆分,直接作为单个字符串创建了节点。要实现每个制片方值对应独立节点,需通过拆分字符串+UNWIND遍历处理,具体修改后的导入代码如下:

LOAD CSV WITH HEADERS FROM '.../FilmData.csv' AS line
// 拆分制片方字段为列表,替换分隔符为你CSV中实际使用的(比如逗号、分号)
WITH line, split(line.Yapimci, ',') AS yapimciList
// 遍历拆分后的每个制片方值
UNWIND yapimciList AS yapimci
// 去除值前后空格,避免因空格产生重复节点
WITH line, trim(yapimci) AS cleanYapimci
// 创建/匹配电影节点(修复原代码漏写的line前缀问题)
MERGE (n:Movie {title: line.Film_Adi_TR, released: line.Vizyon_Tarihi, genre: line.Film_Turu})
// 创建/匹配单个制片方节点
MERGE (y:Yapimci {title: cleanYapimci})
// 建立电影与制片方的关联关系
MERGE (n)-[:PRODUCED_BY]->(y)

关键修改说明:

  • split()函数:将Yapimci字段的多值字符串按实际分隔符(比如逗号)拆分为字符串列表,需根据CSV中的分隔符调整(如分号则改成';')。
  • UNWIND:把列表中的每个值单独展开,让后续语句可以逐个处理每个制片方。
  • trim()函数:去除制片方值前后的空格,避免出现"ABC"和" ABC"这类重复节点。
  • 修复原代码错误:released:Vizyon_Tarihi需添加line.前缀才能正确读取CSV列值。

额外提示:

如果CSV中存在空的制片方值,可添加WHERE cleanYapimci <> ''过滤掉无效节点;若多值分隔符不是逗号,务必替换为实际使用的符号(如竖线|)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:32:26