Nit*_*mar 1 csv load neo4j cypher py2neo
我已经使用Neo4j的批量导入工具建立了一个图形数据库.我正在处理的数据是每天生成的,所以我需要每天更新我的图形数据库.运行批量导入不是解决方案,因为它将每天清理和上传整个数据.我试图使用加载csv cypher函数使用python这样做,但我无法.
ex = USING PERIODIC COMMIT LOAD CSV FROM myfile.csv AS row FIELDTERMINATOR ';'
ex += MERGE(:a{b:row[0],d:row[1]})
Run Code Online (Sandbox Code Playgroud)
我试图使用py2neo的运行此命令
graph = py2neo.Graph()
graph.cypher.execute(ex)
Run Code Online (Sandbox Code Playgroud)
我收到错误输入'G'无效:预期的空格,注释,"...字符串..."或参数(第1行,第37列(偏移36))
使用此链接我了解到我必须查看行,然后我可以使用py2neo上传数据. https://codereview.stackexchange.com/questions/75842/optimizing-for-data-import-in-neo4j-using-py2neo
有没有办法直接在csv上使用python运行load csv?写外观不是问题,但这增加了额外的计算.
在此先感谢您的答案:)
您可能会遇到一个问题,即不在第一行末尾添加空格并附加第二行.由于我没有在示例代码中看到引号,因此很难确定.尝试使用Python的多行字符串语法来构建您的查询:
query = '''
USING PERIODIC COMMIT
LOAD CSV FROM 'file:///path/to/myfile.csv' AS row FIELDTERMINATOR ';'
MERGE (:Person {name: row[1], age: row[2]})
'''
graph.cypher.execute(query)
Run Code Online (Sandbox Code Playgroud)
另请注意,要引用本地文件系统上的文件,您应该使用该file:///格式.