我有一个csv文件,其中该行按最重要的条目排序。我想将行号存储为属性以指示重要性。
例如:
Name
-----
abc
cde
xyz
我的Cypher看起来像这样:
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
WITH line
我想将line.name存储为节点名称,并将新属性“rank”存储在存储行号中。防爆。 1表示abc,2表示cde,3表示xyz。
我怎样才能做到这一点?
答案 0 :(得分:3)
使用行号作为输入不是一个好主意。强烈建议通过添加具有排名值的列来更改csv文件。
作为练习,您可以使用临时节点解决问题:
MERGE (tmp:TEMPNODE) SET tmp.line = 0
WITH tmp
LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS line
WITH line
MATCH (tmp:TEMPNODE) SET tmp.line = tmp.line + 1
RETURN line, tmp.line as index
作为替代方案,请尝试使用apoc
:
CALL apoc.load.csv('url',{sep:";"}) YIELD lineNo, list, map