2016-04-07 83 views
1

我想導入一個CSV文件到Neo4j(社區版V 2.3.2)。 CSV的結構如下:Neo4j CSV導入類型錯誤

id,title,value,updated 
123456,"title 1",10,20160407 
123457,"title 2",11,20160405 

CSV路徑在Neo4j屬性文件中設置。

當我使用下面的import語句

LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
CREATE (:Title_Node { title: line[1], identifier: toInt(line[0]), value: line[3]}) 

我收到以下錯誤信息:

警告:預計1是java.lang.String,但它是一個java.lang中。龍

當我剛剛查詢與

LOAD CSV WITH HEADERS FROM 'file:///test.csv' 
AS line 
RETURN line.title, line.id, line.value; 

Cypher支架的test.csv文件可以毫無問題地訪問數據。

+------------------------------------+ 
| line.title | line.id | line.value | 
+------------------------------------+ 
| "title 1" | "123456" | "10"  | 
| "title 2" | "123457" | "11"  | 
+------------------------------------+ 

效果發生在瀏覽器以及shell中。

我在Having `Neo.ClientError.Statement.InvalidType` in Neo4j處發現了以下問題,並嘗試了在此答案中發佈的Neo4j Link中提到的提示,但收效甚微。 CSV文件本身似乎可以通過結構(UTF8,沒有隱藏條目等)確定。

每個幫助解決這個問題都非常感謝。

最佳

Krid

回答

1

你提供的線報頭中的字段,所以在進口使用它們 -

LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
CREATE (:Title_Node { title: line.title, identifier: line.id, value: line.value}) 
+1

非常感謝行的索引,這是問題。 – Krid

0

這是這是一個錯誤信息的一個典型的例子完全正確,但不是很有幫助!

您可以提供文字,如果你prefer-

LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
CREATE (:Title_Node { title: line['title'], identifier: line['id'], value: line['value']})