Neo4j 导入本地 CSV 文件

11

我正在尝试导入本地 csv 文件,但出现了 InvalidSyntax 错误。

LOAD CSV WITH HEADERS FROM file:C:/csv/user.csv

输入无效 '/'(第 1 行,第35列(偏移量:34)) "LOAD CSV WITH HEADERS FROM file:C:/csv/user.csv"

4个回答

12

您需要将文件名放在引号中,并添加几个反斜杠:

LOAD CSV WITH HEADERS FROM "file:///C:/csv/user.csv"

完整文档在此处

.


7
请在数据库的设置中注释掉 dbms.directories.import=import 这一行。注释方法为在该行前面添加一个井号(#)符号。 - Nitin

9
以下命令将返回您的CSV文件的前5行:
LOAD CSV WITH HEADERS FROM "file:///<PATH_TO_YOUR_CSV_FILE>" AS line WITH line RETURN line LIMIT 5;

但是您需要按照Neo4J的安全限制进行一些步骤。

1) 在neo4j服务器文件夹中找到conf文件夹。 使用文本编辑器打开neo4j.conf文件。

2) 取消注释包含以下内容的行:

#dbms.security.allow_csv_import_from_file_urls=true

要取消注释,只需删除 #。应该像这样:

dbms.security.allow_csv_import_from_file_urls=true

3) 在下面的行中添加注释:

dbms.directories.import=import

为了进行评论,请添加 #。应该像这样:
#dbms.directories.import=import

在这里可以查看有关从CSV文件导入到Neo4j的更多信息:https://neo4j.com/blog/importing-data-neo4j-via-csv/


我发现在Neo4J桌面版中需要这样做:数据库>管理>设置,然后将<PATH_TO_YOUR_CSV_FILE>格式化为C:/path/to/file.csv - 即使用正斜杠。 - Daniel Flippance

3
LOAD CSV WITH HEADERS FROM "file:C:/path/location/filename.csv" AS row

发现这些查询要求Neo4j在特定位置查找 C:\Users\*******\.Neo4jDesktop\neo4jDatabases\database-2b9d81ff-1976-427e-ba98-4f3191c3ef62\installation-3.4.9\import。将您的csv放置在此处并使用以下查询:LOAD CSV WITH HEADERS FROM "file:///testData2.csv" AS line,可以解决我的问题。或者您可以通过在此处进行更改来更改设置。
dbms.directories.import=import

NB:我正在使用 Windows 10、neo4j-desktop-offline-1.1.12。


-1

我也遇到了同样的问题(在Windows 10上),后来我发现是因为我只是试图加载CSV文件而没有让它返回任何东西。对于我来说,像这样做非常有效:

LOAD CSV WITH HEADERS FROM "file:///C:all_data.csv" AS line

RETURN line

注意:不要忘记将您想要导入到neo4j的CSV文件放置在导入文件中!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接