实现Python将csv数据导入到Neo4j

实现Python将csv数据导入到Neo4j

目录

一、获取数据集

1.1 获取数据集

1.2 以“记事本”方式打开文件

1.3  另存为“UTF-8”格式文件

1.4 选择“是”

二、 打开Neo4j并运行

2.1 创建新的Neo4j数据库

2.2 分别设置数据库名和密码

​编辑 2.3 启动Neo4j数据库

2.4 打开Neo4j数据库

 2.5 运行查看该数据库是否为空

三、打开Python创建项目 

3.1 创建一个包,存项目

3.2 创建一个项目

3.3 检查自己的依赖是否完全

3.3.1 点击“File”-“Settings”

3.3.2  找到“Project:PythonProject”-"Python Interpreter"

3.4 导入相关依赖,打开Terminal

3.5 输入命令

四、实现Python连接Neo4j 

4.1 Python连接Neo4j测试

4.2 导入数据集

4.3 处理数据集

4.4 初始化neo4j并合并数据集关系

4.5 把节点导入到Neo4j中

4.6 运行代码后,查看Neo4j是否有节点

4.7 导入节点关系

4.8 查看Neo4j

五、该过程出现的Bug

5.1 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte 


一、获取数据集

1.1 获取数据集

《我是刑警》的人物关系数据集资源https://download.ZEEKLOG.net/download/Z0412_J0103/90160496

1.2 以“记事本”方式打开文件

1.3  另存为“UTF-8”格式文件

1.4 选择“是”

二、 打开Neo4j并运行

2.1 创建新的Neo4j数据库

2.2 分别设置数据库名和密码

 2.3 启动Neo4j数据库

2.4 打开Neo4j数据库

 2.5 运行查看该数据库是否为空

match(n) return n;

三、打开Python创建项目 

3.1 创建一个包,存项目

3.2 创建一个项目

3.3 检查自己的依赖是否完全

3.3.1 点击“File”-“Settings”

3.3.2  找到“Project:PythonProject”-"Python Interpreter"

检查是否导入了“neo4j”、“pandas”、”py2neo

3.4 导入相关依赖,打开Terminal

3.5 输入命令

pip install neo4j-python-driver pandas py2neo

四、实现Python连接Neo4j 

4.1 Python连接Neo4j测试



其中的”123456“是你刚刚建立的Neo4j密码,此处只需要修改该密码就可以了

4.2 导入数据集



其中地址需要改变,其它地方都不用变

运行结果如下

4.3 处理数据集



 执行结果如下

4.4 初始化neo4j并合并数据集关系

# 初始化一个空列表来存储所有的元组 tuple_total = [] # 迭代DataFrame的每一行 for index, row in invoice_data.iterrows(): ties_total = [row['人物'], row['关系'], row['关系人物']] # 将所有元组添加到结果列表中 tuple_total.extend([ties_total]) print(tuple_total)

4.5 把节点导入到Neo4j中

#把节点导入neo4j中 def create_node(people): for name in people: node_1 = Node('人物', name = name) graph.create(node_1) create_node(people)

4.6 运行代码后,查看Neo4j是否有节点

4.7 导入节点关系

matcher = NodeMatcher(graph) # 导入关系 for i in range(0, len(tuple_total)): name_1 = matcher.match('人物', name=tuple_total[i][0]).first() name_2 = matcher.match('人物', name=tuple_total[i][2]).first() rel = tuple_total[i][1] relationship = Relationship(name_1, rel, name_2) graph.create(relationship)

4.8 查看Neo4j

 

五、该过程出现的Bug

5.1 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte 

解决过程:

是因为你的CSV文件没有设置为”UTF-8“ ,具体过程看本文的1.2和1.3过程

上一篇文章:ZEEKLOG中群发功能及自动回复设置教程_ZEEKLOG粉丝群发https://blog.ZEEKLOG.net/Z0412_J0103/article/details/144074981下一篇文章: JDK11下载安装和配置超详细过程-ZEEKLOG博客https://blog.ZEEKLOG.net/Z0412_J0103/article/details/144451166?sharetype=blogdetail&sharerId=144451166&sharerefer=PC&sharesource=Z0412_J0103&spm=1011.2480.3001.8118

Read more

FPGA毕设从入门到实践:选题避坑、开发流程与Verilog实战指南

最近在帮学弟学妹们看FPGA毕业设计,发现大家踩的坑都出奇地一致:仿真波形看着挺美,一下载到板子就“沉默是金”;或者功能勉强能跑,但时序报告一堆红色警告,心里直发虚。今天我就结合自己的经验,系统梳理一下FPGA毕设从选题到上板的完整流程,希望能帮你避开那些“前辈们”用头发换来的教训。 一、FPGA毕设那些“经典”的坑 毕业设计时间紧、任务重,很多问题如果前期没意识到,后期调试会非常痛苦。下面这几个是高频雷区: 1. 仿真与现实的“壁”:这是最常见的问题。Testbench里时钟是理想的,复位是干净的,但板子上有晶振抖动、按键消抖、电源噪声。仿真通过的UART收发,上板后可能因为波特率误差累积而错码。关键:仿真要加入时钟抖动(#(CLK_PERIOD/10))和复位异步释放的模型,尽量逼近真实环境。 2. 时钟域的“混战”:一个工程里用了板载50MHz时钟,又通过PLL生成125MHz给DDR控制器,还接了个外部异步的传感器数据。如果不同时钟域的信号直接通信,没有经过同步器(如两级触发器),亚稳态就会导致数据采样错误,

智能家居生态系统中AI应用的变革,由AI应用架构师引领

从“指令执行”到“主动理解”:AI如何重构智能家居?架构师的底层逻辑与实践 关键词 智能家居生态、AI应用架构、主动感知、多设备协同、用户意图理解、边缘-云协同、个性化推荐 摘要 十年前,我们对“智能家居”的想象是“用手机开灯泡”;今天,我们期待的是“加班晚归时,家门自动打开,暖气已暖,米饭刚熟,音乐刚好”。这背后的质变,是AI对传统智能家居生态的底层重构——从“被动响应指令”到“主动理解需求”。 本文将以AI应用架构师的视角,拆解这场变革的核心逻辑: * 如何让设备从“听指令”进化到“猜需求”? * 如何破解多设备“各自为战”的信息孤岛? * 如何在“智能”与“隐私”之间找到平衡? 通过真实场景案例、可落地的架构设计、代码示例与生活化比喻,

直接能照着学、对应真实机器人研发岗的知识清单

我给你整理一份直接能照着学、对应真实机器人研发岗的知识清单,不分虚的,按「通用基础 → 细分岗位 → 学习路线」来写,你可以直接对标自己要走的方向。 一、所有机器人研发岗 必须会的通用知识 不管做硬件、软件、算法,这部分是底线: 1. 数学基础 * 高等数学(微积分、微分方程) * 线性代数(矩阵、旋转、四元数——机器人姿态核心) * 概率论与数理统计(滤波、定位、误差分析) 2. 编程基础 * C/C++(机器人实时控制、底层驱动必用) * Python(算法、调试、数据处理、快速原型) * Linux 系统(Ubuntu 为主,命令行、进程、文件系统) 3. 通用工程基础

6层高速PCB设计,立创-逻辑派FPGA-G1开发板,万字笔记。基于立创EDA高速PCB,FPGA,GW2A-LV18PG256C8/17、GD32F303CBT6学习笔记

6层高速PCB设计,立创-逻辑派FPGA-G1开发板,万字笔记。基于立创EDA高速PCB,FPGA,GW2A-LV18PG256C8/17、GD32F303CBT6学习笔记

个人声明:本文章为个人学习PCB六层板设计的学习记录。官方资料请参考嘉立创的相关教程。 我用的是嘉立创EDA的专业版。最后我会放上立创开源广场的连接,大家可以去看一下,跟着官方学习一下,官方非常权威 开源广场的地址我放在文章中,因为需要一个DXF文件,需要导入到EDA 并且六层以下都可以免费打板,对我帮助非常大,尤其是像我这种刚入门的新手来说,给予了很多试错机会,毕竟每个月可以免费打两次。而且立创EDA还是免费的,打开网页就能画板子,相当方便快捷。 一.笔记前资料准备 立创·逻辑派FPGA-G1是一款面向学习和开发的国产FPGA开发板,它的一大特点是采用了FPGA与ARM Cortex-M内核相结合的异构架构,并提供了非常完善的开源资料。 主控:GW2A-LV18PG256C8/17、GD32F303CBT6 FPGA逻辑单元:20KHz。 ARM主频:120MHz。 DDR3内存:2Gbit FPGA端存储:FLASH16M/64M/128M ARM端存储:TF卡2GB/4GB/16GB/32GB FPGA端8P接口支持:Gowin程序下载、GAO在线逻辑仿真