2016-09-27 922 views
0

我试图导入其中有一些特殊的字符,如' , " , \ CSV文件CSV当我运行此查询 -的Neo4j - 如何导入具有特殊字符

LOAD CSV WITH HEADERS FROM "http://192.168.11.121/movie-reco-db/movie_node.csv" as row 
CREATE (:Movie_new {movieId: row.movie_id, title: row.title, runtime: row.runtime, metaScore: row.meta_score, imdbRating: row.IMDB_rating, imdbVotes: row.IMDB_votes , released: row.released , description: row.description , watchCount: row.watch_count , country: row.country , 
category: row.category , award: row.award , plot: row.plot , timestamp: row.timestamp}) 

它抛出一个错误 -

At http://192.168.11.121/movie-reco-db/movie_node.csv:35 - there's a field starting with a quote and whereas it ends that quote there seems to be characters in that field after that ending quote. That isn't supported. This is what I read: ' Awesome skills performed by skillful players! Football Circus! If you like my work, become a fan on facebook",0,USA,Football,N/A,N/A,1466776986 
260,T.J. Miller: No Real Reason,0,0,7.4,70,2011-11-15," ' 

我调试该文件,并从行中删除\导致问题,然后重新运行上述查询,它运作良好。有没有更好的方法来通过查询来完成它,或者我每次都必须找到并删除这种类型的字符?

回答

0

它不会出现引号字符可配置为LOAD CSV(如FIELDTERMINATOR是):

如果您要创建一个新的数据库,你可以看看改成使用neo4j-import工具,它似乎可以选择配置引号字符(然后将其设置为您知道的字符不会存在于您的csv文件中(例如说是管道符号|):

否则,是的,你将需要在装载前,输入文件运行一个清洗的过程。

+0

有没有其他可行的方法来做到这一点?直接从文件中删除可能会很麻烦。 –