我正在尝试将本地存储的.csv文件加载到Neo4j中。我也尝试将其发布到Google表格,但这并没有让我更接近我需要的东西。
我已将csv存储在我的导入文件夹中,文件路径为:
“C:\ Users \ FJ1993.Neo4jDesktop \ neo4jDatabases \ database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 \ import \ GTD sample_location_target_attacker.csv
在尝试加载到Neo4j时,我尝试了两种基于我见过的教程和Neo4j文档的方法:
1)
使用HEADERS来加载CSV “file:// C:/Users/FJ1993/.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD”sample_location_target_attacker.csv 带线
错误是
Neo.ClientError.Statement.SyntaxError:输入'i'无效:预期'\',''',''','b','f','n','r','t', UTF16或UTF32(第1行,第127列(偏移量:126)) “LOAD CSV with HEADERS FROM”file:// C:/Users/FJ1993/.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD“sample_location_target_attacker.csv WITH line “
2)
使用HEADERS来加载CSV “file:// C:/Users/FJ1993/.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD sample_location_target_attacker.csv” AS csvDoc
错误是
Neo.ClientError.Statement.SyntaxError:输入'i'无效:预期'\',''',''','b','f','n','r','t', UTF16或UTF32(第1行,第127列(偏移量:126)) “LOAD CSV with HEADERS FROM”file:// C:/Users/FJ1993/.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD sample_location_target_attacker.csv“AS csvDoc “
3)我还尝试从我发布的Google表格上传。
我的Cypher是:
使用“https://docs.google.com/spreadsheets/d/e/2PACX-1vSOpbMUwFnf7gMYm7JaB3gzWGV7or0qU7cLIsjwApq4sH63v88O1fd0RrmbxvBlVWMfVASh0sw9zJX_/pubhtml”的标题加载CSV AS线 返回10
到哪个错误消息:
Neo.DatabaseError.General.UnknownError:在https://docs.google.com/spreadsheets/d/e/2PACX-1vSOpbMUwFnf7gMYm7JaB3gzWGV7or0qU7cLIsjwApq4sH63v88O1fd0RrmbxvBlVWMfVASh0sw9zJX_/pubhtml @位置4388 - 有一个以引号开头的字段,而它结束那个引号,在该结束引号之后该字段中似乎有字符。那是不支持的。这就是我读到的:'docs-smheo':'
有谁知道如何将csv文件导入Neo4j?我不够精通写入命令行,完全依赖于GUI。
由于
答案 0 :(得分:2)
在" import / GTD"之后,看起来你的引号位于错误的位置,文件后面缺少正斜杠,你不应该指定完整路径。
您的文件路径中还有正斜率和反斜杠的混合。使用正斜杠,但由于您没有指定完整路径,因此仅当您的导入文件夹中有文件夹时才有用。
我建议您在GTD之后删除空格,以确保安全。
试试这个,我希望它有所帮助:
LOAD CSV WITH HEADERS FROM "file:///GTD sample_location_target_attacker.csv" WITH line
<强>原始强>
LOAD CSV WITH HEADERS FROM "file://C:/Users/FJ1993/.Neo4jDesktop\neo4jDatabases/database-325e28a1-76ac-4268-820e-844bda8d4812\installation-3.4.0/import/GTD" sample_location_target_attacker.csv WITH line
答案 1 :(得分:1)
首先猜测你应该使用FIELDTERMINATOR确切的字段分隔符';'为这不应该在你的内容中。我用|只要有可能。
neo4j网站上有很多免费的教育内容,市场上的好书增加了一种教学方法。
无耻插件:我推荐“学习Neo4j”第二版(剧透:我是作者)
答案 2 :(得分:1)
我认为您的问题出在导入文件的路径中。
当抛出错误时,有一个&#39; ^&#39;在&#39; i&#39; &#39; ... 4812 \ installation ...&#39;?
(很难看,但我敢打赌它在那里!)
Cypher正在解析命令行,包括引用的文件名,并解释&#39; \&#39;作为逃脱序列的开始。它没有尝试读取您的输入文件。
您需要使用&#39; /&#39;为你的路径分隔符。
由于您加载的文件位于导入目录中,因此您可能不需要完整路径。我找到了:
LOAD CSV WITH HEADERS FROM "file:///Neo4jQuestion.csv" as line
CREATE (SomeNode {location:line.location, target:line.target, attacker:line.attacker});
适用于我的Windows框。 (注意&#39;文件之后的三个斜杠:&#39;)