Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 133|回复: 4

python neo4j

[复制链接]

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2024-7-19 21:56:06 | 显示全部楼层 |阅读模式
from py2neo import Graph, Node, Relationship
import pandas
db = Graph("bolt://localhost:7687", user="neo4j", password="gao6318866", name="neo4j") # 连接数据库


node_1 = Node('英雄',name = '张无忌')
node_2 = Node('英雄',name = '杨逍',武力值='100')
node_3 = Node('派别',name = '明教')

# 存入图数据库
db.create(node_1)
db.create(node_2)
db.create(node_3)
print(node_1)
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
 楼主| 发表于 2024-7-22 17:57:13 | 显示全部楼层
从excel读取文件,并提取其中几列作为节点和属性,并建立连接

import pandas as pd
from py2neo import Graph, Node, Relationship

# 读取Excel文件
#df = pd.read_excel('abc.csv',sheet_name=0,header = 0)
df = pd.read_csv("abc.csv",header = 2)
# 查看前几行数据
print(df[['姓名','业绩名称']].head(10))



db = Graph("bolt://localhost:7687", user="neo4j", password="gao6318866", name="neo4j") # 连接数据库


node_1 = Node('英雄',name = '张无忌')
node_2 = Node('英雄',name = '杨逍',武力值='100')
node_3 = Node('派别',name = '明教')

# 存入图数据库
db.create(node_1)
db.create(node_2)
db.create(node_3)
print(node_1)


回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
 楼主| 发表于 2024-7-22 18:30:25 | 显示全部楼层
读取excel文件
import pandas as pd
from py2neo import Graph, Node, Relationship

# 读取Excel文件
#df = pd.read_excel('abc.csv',sheet_name=0,header = 0)
df = pd.read_csv("abc.csv",header = 2)
# 查看前几行数据
print(df[['姓名','业绩名称']].head(10))
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
 楼主| 发表于 2024-7-22 19:35:30 | 显示全部楼层

给已有节点添加属性
db = Graph("bolt://localhost:7687", user="neo4j", password="gao6318866", name="neo4j") # 连接数据库
node_matcher =  NodeMatcher(db);
node= node_matcher.match("英雄",name="杨逍").first()
node["email"] = "alice@example.com"
node["city"] = "New York"
db.push(node)
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
 楼主| 发表于 2024-7-22 21:04:30 | 显示全部楼层
读取excel并创建节点
import pandas as pd
from py2neo import Graph, Node, Relationship,NodeMatcher

def readExcel(file_name,dropna_col = ''):

    # 读取Excel文件
    #df = pd.read_excel('abc.csv',sheet_name=0,header = 0)
    df = pd.read_csv(file_name,header = 2)
    if dropna_col != '':
        df1 = df.dropna(subset = [dropna_col])
    # 查看前几行数据
    print(df1[['姓名','业绩名称']])
    return df1


df = readExcel(file_name = 'abc.csv',dropna_col = '姓名');
db = Graph("bolt://localhost:7687", user="neo4j", password="gao6318866", name="neo4j") # 连接数据库


def create_node_from_df(df,db,label,attributes):
    for index, row in df.iterrows():
        name = row['姓名']
        job_number = row['工号']
        node = Node("教师");
        for attr in attributes:
            node[attr] = row[attr]
        db.create(node)
create_node_from_df(df,db,label = '教师',attributes = ["姓名","工号"])
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2024-11-23 16:41 , Processed in 0.052607 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表