当前位置:   article > 正文

【学习笔记】Python 操作 Neo4j ——基础操作+CSV_neo4j,python,csv

neo4j,python,csv
准备:

环境:Windows11、Java 11、neo4j 4.0.1

Java11安装:官网下载JAVA的JDK11版本(下载、安装、配置环境变量)_java11-CSDN博客

neo4j (Windows)下载链接:(想下载哪个版本就直接改后面的版本号)

    Neo4j 4.0.x 需要 JDK 11

    Neo4j 4.1.x、4.2.x 和 4.3.x 需要 JDK 11。

    Neo4j 4.4.x 及以后的版本需要 JDK 11 或 JDK 16。

https://dist.neo4j.org/neo4j-community-4.0.1-windows.zip

1、安装 py2neo:

      在pycharm命令行下输入 pip install py2neo

2、cmd命令行启动neo4j:

      neo4j console

3、基础操作:
  1. from py2neo import Graph, Node, Relationship
  2. graph=Graph('http://localhost:7474/', name='neo4j', password='你的密码') #连接数据库并初始化
  3. graph.delete_all() #清空数据库
  4. n1=Node('Imperial',name='皇帝') #创建节点(标签,属性1,属性2...)
  5. n2=Node('Imperial',name='皇后')
  6. n3=Node('Imperial',name='公主')
  7. n1['age']=22 #向n1节点添加一个属性
  8. graph.create(n1) #创建节点
  9. graph.create(n2)
  10. graph.create(n3)
  11. r1=Relationship(n1, 'husband', n2) #调用Relationship函数定义一段关系:n1是n2的丈夫
  12. r1['count']=1 #为关系r1添加一个属性
  13. r2=Relationship(n2, 'wife', n1)
  14. r2['count']=1
  15. r3=Relationship(n2, 'mother', n3)
  16. graph.create(r1) #创建关系
  17. graph.create(r2)
  18. graph.create(r3)
  19. print(graph) #打印图
  20. print(n1) #打印节点
  21. print(r2) #打印关系
4、导入csv文件创建数据库:

      excel另存为csv文件时要注意使用utf-8编码,若不是,可用记事本打开后另存为时修改

      基金数据下载:https://www.szse.cn/market/product/list/all/index.html

  1. from py2neo import Graph, Node, Relationship
  2. import pandas as pd
  3. import csv
  4. graph=Graph('http://localhost:7474/', name='neo4j', password='你的密码') #连接数据库并初始化
  5. graph.delete_all() #清空数据库
  6. with open ('E:\\Learning\\pythonFile\\neo4jStudy\\funds.csv','r', encoding='utf-8') as f: #使用utf-8编码读取csv文件
  7. reader=csv.reader(f)
  8. data=list(reader) #存为list
  9. print(data[1])
  10. for i in range(1, len(data)): #循环读取 list 创建结点和关系
  11. fund = Node('ETF fund', id=data[i][0], name=data[i][1], listing_date=data[i][4]) #基金节点
  12. investment_category = Node('investment category',name=data[i][3]) #投资类型节点
  13. custodian = Node('custodian', name=data[i][6]) #管理人节点
  14. relationship1 = Relationship(custodian, '管理', fund) #关系
  15. relationship2 = Relationship(fund,'投资', investment_category) #关系
  16. graph.create(fund) #创建节点以及关系
  17. graph.create(relationship1)
  18. graph.create(relationship2)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号