我是NEO4J的新手。我正在使用neo4j版本3.5.6社区版和apoc插件版本3.5.0.4。我在默认导入文件夹中有一个 CSV 文件
NR_Nodes_Agent_I_20190331_tmp.csv。出于测试目的,我编写了一个密码查询
CALL apoc.load.csv('NR_Nodes_Agent_I_20190331_tmp.csv') yield map as row return row;
但我收到波纹管错误
Neo.ClientError.Procedure.ProcedureCallFailed: 无法调用过程
apoc.load.csv
: 由: java.lang.ArrayIndexOutOfBoundsException: 1
我对此进行了一些研究,但没有成功解决我在neo4j.conf文件中取消注释语句
dbms.directories.import=import
dbms.security.allow_csv_import_from_file_urls=true
dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*,apoc.*
-
确保
neo4j.conf
文件中有此设置:apoc.import.file.enabled=true
-
确保您的 CSV 文件格式正确。
-
例如,此 CSV 文件将导致相同的
ArrayIndexOutOfBoundsException: 1
错误消息(请注意,单个数据行缺少第二个值,因为它的逗号比标头少一个(:a,b 1
-
另一方面,即使数据行在逗号后没有值,此 CSV 文件也可以工作(:
a,b 1,
查询结果为:
╒════════════════╕ │"row" │ ╞════════════════╡ │{"a":"1","b":""}│ └────────────────┘
-
如果数据行有第二个值,如下所示:
a,b 1,2
然后查询结果将是:
╒═════════════════╕ │"row" │ ╞═════════════════╡ │{"a":"1","b":"2"}│ └─────────────────┘
-