Neo4j的LOAD CSV失败

问题描述:

neo4j-sh (?)$ USING PERIODIC COMMIT 
> LOAD CSV WITH HEADERS FROM "file:/home/ubuntu/data/woka-data/woka-data.csv" AS row 
> MERGE (woka:Woka   {woka_id:  row.woka_id, woka_title: row.woka_title}); 
IllegalMultilineFieldException: At file:/home/ubuntu/data/woka-data/woka-data.csv:834 - Multi-line fields are illegal in this context and so this might suggest that there's a field with a start quote, but a missing end quote. 

我的内核版本是2.2.3,文件是相当大的:Neo4j的LOAD CSV失败

-rwxr-xr-x 1 ubuntu ubuntu 2508218727 Jul 21 17:54 woka-data.csv 

任何线索如何解决这一问题?

我改报线路83这里的第一个错误的文件中的字段,现在的顺序是这一行:

97801322605720000000,eng,Addison Wesley Longman,,"Wri& Speakg at Work& Build Own CC& Mst 
: Perils" 

这是前

新行:危险

如何解决这个问题?

此错误似乎是特定于此内核版本。 在升级之前,我使用了一个类似的文件来导入具有多行字段的相同数据并且它工作正常。

我现在能做什么?

尽管声明已修复,但该错误在内核版本2.2.3中仍然存在。 我不得不在提取时间清理所有数据。我删除了导致LOAD CSV失败的所有字符,并报告了错误消息或类似信息。

+0

我试图导入一个Excel生成的CSV文件时遇到了同样的问题,我也尝试使用R(works)导入相同文件的XLSX版本,然后将其导出为CSV(如果Excel的版本存在缺陷),它仍会给出相同的错误 – ErnestoE

+0

在(https://github.com/neo4j/neo4j/issues/5028)中打开了一个新事件,无论出于何种原因修复被回复,可能在2.2.3。 – ErnestoE

在源代码中找到了这颗宝石。看看你的csv中的任何行(行)是否有非法引用。逃脱这些,然后再试一次

public class IllegalMultilineFieldException extends FormatException 
{ 
    public IllegalMultilineFieldException(SourceTraceability source) 
    { 
     super(source, "Multi-line fields are illegal in this context and so this might suggest that " + "there's a field with a start quote, but a missing end quote."); 
    } 
} 

这是Neo4j 2.2.2之前的一个问题。错误报告可以发现here

如果你使用的任何以前的版本2.2.2更新,它应该工作

我使用的内核版本 的Neo4j - 图形数据库内核(Neo4j的内核),版本:2.2.3

+0

没有非法报价。 – LDB

+0

我明白了。下一行的':Perils'有csv行中的缺失引用 –

+0

这是一个错误,Neo4j的更新将修复它。我已经更新了答案。 –