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

Neo4j CSV导入主键未导入问题咨询及导入可行性确认

解决Neo4j CSV导入主键未成功的问题

咱们一步步排查并解决这个问题:

1. 先验证CSV数据是否能被正确读取

首先运行这条测试语句,确认row.id是否能取到值:

LOAD CSV WITH HEADERS FROM "file:///C:/c/tabela_sujeito.csv" AS row
RETURN row.id, row.idade LIMIT 5
  • 如果返回的row.id是空值:
    • 检查你的CSV文件表头,确认列名确实是id(注意Neo4j对大小写敏感!如果表头是ID或Id,就得对应写成row.ID或row.Id)
    • 检查CSV对应行的id列是否有非空数据,有没有存在空行或格式错乱的情况

2. 修正导入语句,确保主键正确导入

如果测试语句能看到row.id的有效数值,建议调整导入语句做两个关键优化:

  • 显式转换数据类型:把id转为整数(更符合主键的数值特性,避免存为字符串)
  • 用MERGE替代CREATE:确保主键的唯一性,防止重复创建相同主键的节点

修改后的语句如下:

LOAD CSV WITH HEADERS FROM "file:///C:/c/tabela_sujeito.csv" AS row
MERGE(s:Sujeito{suj_ID: toInteger(row.id)})
SET s.idade = toInteger(row.idade), 
    s.altura = toFloat(row.altura), 
    s.peso = toFloat(row.peso), 
    s.genero = row.genero, 
    s.mao_dominante = row.mao_dominante

3. 验证导入结果

导入完成后,运行这条查询确认主键是否成功导入:

MATCH(s:Sujeito) 
RETURN s.suj_ID, s.idade, s.genero LIMIT 10

如果还是有问题,可以检查CSV文件的编码格式(建议用UTF-8),或者表头的id列名是否带有隐藏空格,导致无法匹配row.id。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:41:31