当前位置:   article > 正文

python操作neo4j_py2neo==4.3.0

py2neo==4.3.0

1.准备内容

python版本:3.9
neo4j版本:4.2.11
py2neo库版本:4.3.0

安装代码:

pip install py2neo==4.3.0 -i https://pypi.douban.com/simple
  • 1
pandas库
注意:如果版本有问题,程序可能会报错

2.代码编写

  • 引库
from py2neo import *
import pandas as pd
  • 1
  • 2
  • 连接neo4j数据库
graph = Graph('http://127.0.0.1:7474',username="用户名",password="密码")
  • 1

或者这样写

graph = Graph("http://127.0.0.1:7474",auth=("账号","密码"))
  • 1
  • 定义函数
    数据集连接:https://pan.baidu.com/s/1lGC1vSt2q9fUfKHfkD2wwg
    提取码:xtxy
    数据集内的内容
    在这里插入图片描述
def yogadata():
    frame = pd.read_csv(r"文件存放文件夹的路径/文件名.csv",encoding='gbk')    #读取文件
    for i in frame.index:
        yoga_name = frame["招式"].values[i]
        yoga_ms = frame["描述"].values[i]
        yoga_yc = frame["益处"].values[i]
        yoga_zysx = frame["注意事项"].values[i]
        yoga_cjwt = frame["常见问题"].values[i]

        yoga_name = str(yoga_name) #将数据转化为str类型
        yoga_ms = str(yoga_ms)
        yoga_yc = str(yoga_yc)
        yoga_zysx = str(yoga_zysx)
        yoga_cjwt = str(yoga_cjwt)

		#节点创建
        yoga_node = Node('招式',name=yoga_name)
        graph.merge(yoga_node,'招式','name')    #merge方法将重复的元素去掉
        ms_node = Node('描述',name=yoga_ms)
        yc_node = Node('益处',name=yoga_yc)
        zysx_node = Node('注意事项', name=yoga_zysx)
        cjwt_node = Node('常见问题', name=yoga_cjwt)

		#创建节点间的关系
        yoga_2 = Relationship(yoga_node, '描述', ms_node)
        yoga_3 = Relationship(yoga_node, '益处', yc_node)
        yoga_4 = Relationship(yoga_node, '注意事项', zysx_node)
        yoga_5 = Relationship(yoga_node, '常见问题', cjwt_node)

		#开始创建操作
        try:
            graph.create(yoga_2)
        except:
            continue
        try:
            graph.create(yoga_3)
        except:
            continue
        try:
            graph.create(yoga_4)
        except:
            continue
        try:
            graph.create(yoga_5)
        except:
            continue
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

3.遇到的问题

  • 出现 OverflowError: mktime argument out of range问题(降低版本前)
    “Clock.local_offset = Clock(-int(mktime(gmtime(0))))”在windows系统存在内存溢出
    打开项目文件夹,打开 lib\site-packages\interchange\time.py
    修改1427行的代码
Clock.local_offset = Clock(-int(mktime(gmtime(0))))
  • 1


在这里插入图片描述
即可解决问题

注意:降低版本后我试了一下把这里的代码改回去,发现也可以跑,不知道是版本原因还是上面说的系统溢出的原因

-出现 ValueError: Primary label and primary key are required for MERGE operation问题
当前版本的py2neo的merge函数需要提供三个参数,之前报错的代码为

graph.merge(yoga_node) 
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/761030
推荐阅读
相关标签
  

闽ICP备14008679号