gpt4 book ai didi

python - 将数据从 CSV 加载到 Neo4j

转载 作者:太空宇宙 更新时间:2023-11-04 05:02:04 24 4
gpt4 key购买 nike

我的数据看起来像

Bob             Joe           Nathan

4 5 4
3 6 111
3 3 3
111 3 4
5 2

但我有大约 300 列“名称”,数字是 CSV 中的“属性”。我将如何在不输入所有“名称”和“属性”并将它们相互链接的情况下将所有这些数据加载到 neo4j 中?提前致谢。

最佳答案

我不知道这是否是更优雅的解决方案,但我有一个提示给你。

首先你应该使用像Transpose CSV Tool这样的工具.使用此工具,您可以输入 CSV 文件,例如:

Bob,Joe,Nathan
4,5,4
3,6,111
3,3,3
111,3,4
5,2,

输出将是:

Bob,4,3,3,111,5
Joe,5,6,3,3,2
Nathan,4,111,3,4,

之后,您可以将 CSV 文件放入导入目录并使用 LOAD CSV,如下所示:

LOAD CSV FROM "file:///convertedcsv.csv" AS line
WITH line[0] as name, filter(l IN line where l is not null) AS line
UNWIND line[1..] as number
WITH name, collect(toInteger(number)) as numbers
CREATE ({name:name,numbers:numbers})

在第一个 WITH 中,上面的查询将每一行的名称存储在一个名为 name 的变量中,并删除整行的所有空值,将结果保存到一个变量中称为。之后,UNWIND 获取从索引 1 开始的数字(因为索引 0 是名称)并将每个数字保存到 number 中。每个 number 都被收集到 numbers 中并转换为整数。

结果节点是:

MATCH (node) RETURN node as nodes

╒═══════════════════════════════════════╕
│"nodes" │
╞═══════════════════════════════════════╡
│{"name":"Bob","numbers":[4,3,3,111,5]} │
├───────────────────────────────────────┤
│{"name":"Nathan","numbers":[4,111,3,4]}│
├───────────────────────────────────────┤
│{"name":"Joe","numbers":[5,6,3,3,2]} │
└───────────────────────────────────────┘

关于python - 将数据从 CSV 加载到 Neo4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com