如何导入list数据类型?
发布于 3 个月前 作者 eagle 220 次浏览 来自 问答

想通过load csv批量导入list类型数据

直接输入命令是成功的 MATCH (n:People)-[r:b]->(m:People) set r.year=tointegerlist([798,805,811]) return n,r,m 但是通过load csv 导入时 1.如果数据列startyear写成[798,805,811] load csv with headers from “file:///z.csv” as line match(n:People{name:line.start}),(m:People{name:line.end}) MATCH (n)-[r:b]->(m) set r.time=line.time,r.year=line.startyear return n,r,m 此时实际上是字符类型 2.通过toIntgegerlist()转换则报错 load csv with headers from “file:///z.csv” as line match(n:People{name:line.start}),(m:People{name:line.end}) MATCH (n)-[r:b]->(m) set r.time=line.time,r.year=toIngegerList(line.startyear) return n,r,m 错误 - Invalid input for function ‘toIntegerList()’: Expected a List, got: String("[798,805,811]")

不知道错在哪里,哪位指导下?

5 回复

是不是你csv里面 那个 数组没有用中括号包起来?或者你用txt文本打开看看那个数组值是不是被双引号包起来了

有中括号,没有双引号

说错了,有双引号

load csv 把那一列当作string类型了,需要先转换成List,用这个apoc函数:apoc.convert.fromJsonList https://neo4j.com/labs/apoc/4.4/overview/apoc.convert/apoc.convert.fromJsonList/

@derek 能否加个微信,V:axltfytx

回到顶部