Neo4j导入工具反斜杠转义

4

我需要导入一份大型数据集,并使用neo4j-import工具。 但是我的数据集遵循以下结构:

1,"lorem1", "ipsum1","foo1"
2,"lorem2", "ipsum2","foo2"
3,"lorem3", "ipsum3","\"

当读取到“\”时,它会抛出一个错误。我知道这是反斜杠字符,意味着它正在等待引号。 我想知道是否可能在neo4j-import工具中禁用反斜杠的含义?

1个回答

7
我认为这是因为您用于导出CSV的工具与Neo4j对CSV标准有不同的理解而引起的问题。这是可以理解的,因为CSV格式并没有很好的标准化;) 根据 neo4j-import --help:
--quote <quotation-character>
  Character to treat as quotation character for values in CSV data. The default
  option is ". Quotes inside quotes escaped like """Go away"", he said." and "\"Go
  away\", he said." are supported. If you have set "'" to be used as the quotation
  character, you could write the previous example like this instead: '"Go away",
  he said.'

因此,这意味着Neo4j允许您使用双引号("")和反斜杠转义(\")来转义引号。通常情况下,我看到的是二者之一,当然需要协商双方的格式约定。
我猜如果您像这样转义您的反斜杠,它可能会起作用:
1,"lorem1", "ipsum1","foo1"
2,"lorem2", "ipsum2","foo2"
3,"lorem3", "ipsum3","\\"

你可以使用该命令来更改引用字符(例如改为'或甚至是|)。当然,在重新生成CSV时需要考虑这一点。
但是,似乎没有办法让Neo4j更改其在CSV中解释转义引号的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接