问题标签 [load-csv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
merge - neo4j 加载 csv 无效“ON MATCH”
我正在使用 LOAD CSV 命令加载文件,但我遇到了一个奇怪的情况,当新行在“匹配”块中添加了一个属性时。
这是代码:
现在这条线不应该发生
因为 hit_id 是唯一的,但我看到来自 Hit 类型的节点更新=xxx(我已经使用 grep [hit_id] 1.csv 使用文件验证了这些节点的 id 出现一次)
我很确定这条线有问题:
或使用循环
帮助我们appritiated,
里奥
更新:
我删除了这一行:
还有foreach循环,实际上我没有看到任何具有价值的“更新”字段。我仍然必须修复它,因为我不能真正从最终代码中删除它
csv - Neo4j 加载带有自定义 ID 的 CSV
我正在使用 Neo4j 2.2.3 并尝试使用 Cypher 的 LOAD CSV 导入一个 CSV 文件,如下所示:
但是,我在使用自定义 ID 时遇到了困难。Neo4j 不导入它们。
该PRODUCT_ID
列是来自不同系统的唯一 ID(我无法控制),但可以说,它不是行号。PRODUCT_ID
需要匹配来自其他文件的数据。
当我查看文件时,我会看到所有字段:
当我选择任何列时也是如此,除了 PRODUCT_ID
:
当我RETURN row.PRODUCT_ID
改为使用时,我得到一个空表。
同样,这不起作用:
我得到带有描述和类型的产品,但是 ID 丢失了。我需要将这个 CSV 文件与其他文件匹配的 ID,但我被困住了,希望能得到一些帮助。我没有在文档中看到关于 ID 列的任何限制。
当我将PRODUCT_ID
列从第一个位置移开时,它需要注意的是忽略第一个列。因此,如果我制作PRODUCT_ID
最后一列,PRODUCT_DESC
则为空。是否需要将行号作为 CSV 中的第一列?似乎很奇怪。
有什么建议么?
character-encoding - 在浏览器中使用 LOAD CSV 时,如何让 Cypher 尊重字符编码?
我的案例:丹麦名字的学生名单(名字包括字符为ü,æ,ø,å)。最小工作示例 CSV 文件:
浏览器内 Neo4j 编辑器:
导致注册如下:
Neo4j browser screenshot,包含 ?-characters,其中需要丹麦语/德语字符。我的数据来自学习管理系统到 Excel。从 Excel 导出为 CSV 时,我可以控制文件编码作为另存为对话框的功能。我已经尝试在单独命名的文件中将 Excel 编码为“UTF-8”(Neo4j 手册说它想要)、“ISO-西欧”、“Windows-西欧”、“Unicode”,并FROM 'file:///path/to/file.csv'
相应地调整了条款。
有趣的是,我在“另存为”时向 Excel 请求完全一样的虚假陈述结果,与哪种(明显的?)文件编码无关。将名称和地址直接复制粘贴到编辑器中时,我没有遇到同样的问题。
mysql - 我们可以将更新与负载查询一起使用吗?
我已经将一个 csv 文件(其中包含学生 ID 和标记列)加载到表中。现在正在将另一个 csv 文件加载到同一张表中(具有相同的列但具有相同学生的更新分数)。现在它应该检查条件,如果特定学生的学生分数增加,那么应该更新新分数,否则分数没有变化。我们可以将更新与负载查询一起使用吗?如果可能,我们该怎么做
csv - 从只有 MATCH 和 CREATE 关系的 Cypher LOAD CSV 中删除 EAGER
neo4j 版本 2.3.1
索引存在于Stoptime.stop_sequence
和上Stoptime.key
。
Stoptime.stop_sequence
是数字。
图形:
(Stoptime)-[:PART_OF]->(Trip)
陈述:
生成的配置文件如下所示:
在这种情况下,如何将 MATCH + WHERE 与 CREATE 分开以删除 EAGER?
PRECEDES
在将预先构建的关系填充到图表中之前,我唯一的方法是将 CSV 预处理成一个新的,其中定义了关系吗?或者有什么方法可以用更好的 MATCH 建立连续的关系。
neo4j - neo4j 加载 csv 非常慢
我正在尝试将 CSV 文件加载到托管在 GrapheneDB 上的 Neo4j 数据库中。它在第一个有 5000 行的文件上运行良好。完成此文件大约需要 16 秒。
我现在正在导入具有相同架构和相同行数的第二个文件。只是数据不一样。Cypher 查询已运行 30 多分钟,但仍未完成。我不确定它在做什么以及为什么它这么慢。这是我的密码:
对于我的 csv 中的行:
更新1:
我根据 Nicole 的回复添加了以下索引。
- 在 :Customer(customerID) 上创建索引
- 在 :Dept(name) 上创建索引
- 创建索引:ProductType(名称)
- 创建索引:样式(名称)
- 在 :Product(productNum) 上创建索引
这有很大帮助,但 5K 行仍然需要大约 20 秒。这正常吗?
任何帮助表示赞赏。
更新 2:
根据@michael 的回复,我进一步研究了一下,发现以下文章非常有用:
http://graphaware.com/neo4j/2014/07/31/cypher-merge-explained.html
更新 3:
我已将密码更新为以下内容以避免重复。我希望这看起来对吗?
neo4j - Cypher 中意外的 Eager Query 配置文件
所以我正在生成一个相当大的 Neo4J 实例,我正在使用 LOAD_CSV 加载它。我已经阅读了尽可能多的关于优化查询以从查询计划中删除 Eager 读取的博客,但是我遇到了一个我无法解释的示例。
假设我们有两种类型的节点,A 和 B。每一种都有一个唯一的属性,名称,并对其有一个约束:
现在,如果我们希望在任一类型的节点之间创建关系,如下所示:
我们的查询计划完全没有急于求成。
但是,如果我们想在 2 个相同类型的节点之间创建关系:
个人资料回来了,里面有热切的阅读!
我们可以通过将两个节点合并更改为匹配来消除这种渴望,但这为我们打开了不创建我们想要创建的关系的可能性!
我的问题是为什么会发生这种在同一标签的两个节点之间创建关系的特定情况?
我在 Neo 2.3.2 上发现了这一点。
neo4j - 使用定期提交从 csv 加载大数据时如何在 Neo4j 中处理事务回滚
我正在尝试使用 neo4j-rest java api 将大量数据从 csv 导入 neo4j。为避免内存不足异常,我使用定期提交,因此示例 java 代码将是:
现在我的问题是我应该如何处理定期提交中的事务回滚?我知道定期提交语句不能在打开的事务中运行,它们应该在请求发送后立即提交。这意味着如果出现问题,就无法回滚。我想这是批量插入中的一个常见问题,那么我应该如何处理这样的回滚呢?我应该把我的数据库放在 neo4j 中并尝试从头开始整个过程吗?有什么想法吗?
r - 为 R 加载 csv 文件时出错
当我为 R 加载 csv 文件时,我可以看到错误,但我不知道为什么会这样
我写了以下代码:
并且,出现此错误
为什么会这样?文件目录没有错,文件夹中的那个文件[在此处输入图像描述][1]请看这个我重新启动Rstudio,即使笔记本电源但再次出现错误我如何加载那个csv文件?为什么会这样?这是使用getwd()
函数的结果
neo4j - 密码语句返回(没有变化,没有行)
我看过 Nicole White 的精彩youtube
“<a href="https://www.youtube.com/watch?v=Eh_79goBRUk" rel="nofollow">在现实世界中使用 LOAD CSV”并决定重新创建neo4j 数据使用相同的方法。
我已经克隆了她关于这个主题的 git repo,并且一直在我的 Mac 上的社区版 neo4j 上处理这个示例。
我一次通过 load.cql 文件一个命令,将每个命令粘贴到命令窗口中。
事情进展得很顺利——我已经创建了一堆节点。为了处理主文件中 sub_products 和 sub_issues 的空值,我创建了另外两个 csv 文件:sub_issues.csv 和 sub_products.csv,如视频中所述。
但是当我尝试读取这些文件时,我得到“(没有更改,没有行)”
不知怎的,我觉得有些不对劲……
下面是我用于增量读取的实际命令序列。