2015-07-21 252 views
3
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" 

這是前

新行:危險

如何解決這個問題?

此錯誤似乎是特定於此內核版本。 在升級之前,我使用了一個類似的文件來導入具有多行字段的相同數據並且它工作正常。

我現在能做什麼?

回答

3

儘管聲明已修復,但該錯誤在內核版本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

1

在源代碼中找到了這顆寶石。看看你的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的更新將修復它。我已經更新了答案。 –