将Excel文件存入neo4j的步骤,以及所遇到的错误和解决方法。

初步设想:

直接通过python代码传入,代码只需要文件地址就可以存入neo4j

困难一:

教程里面的代码有定义节点的,每个节点都要手动输入吗?那岂不是很浪费时间。
在这里插入图片描述
教程地址:
https://blog.csdn.net/RHJlife/article/details/108586578

困难二:

教程中说要存.csv文件。什么意思,是需要的excel文件要变成.csv文件?python代码不能直接用excel文件?.csv文件怎么弄?.csv文件是啥?
**A:**excel文件在保存的时候选择.csv文件类型,就可以将excel文件要变成.csv文件。
在这里插入图片描述

困难三

将excel文件存入neo4j的完整步骤是啥?

解决方法:

1、打开neo4j:直接Win+R,输入:neo4j console
在这里插入图片描述

2.打开网址:http://localhost:7474/。遇到的问题:先进行2的话,网站显示无法连接,需要先第一步打开neo4j。

3.运行代码,将文件存入neo4j

困难四:

已经下载了py2neo,运行的时候为什么还是显示找不到。
因为下载的py2neo是在Python3.8环境下,pycharm打开该文件夹是默认Python3.9。所以将环境换成3.8就可以。
如下图,可以看到pip命令是在python3.8环境下运行的,所以当你打开python3.9环境时,用pip命令是没用的,它默认下载导论3.8,所以对3.9环境下的错误是无法改正的。
在这里插入图片描述

换的方法:
用下面的命令(window+R打开cmd)找到3.8的位置,将解释器位置换成3.8。

换之后pycharm显示的解释器为Python3.8
在这里插入图片描述
参考文章:https://blog.csdn.net/qq_41823964/article/details/120476616

困难五:

报错:Set-Location : 找不到接受实际参数“graph”的位置形式参数。
原因:想要打开的文件夹命名有空格。
解决方法:1.给文件名加上双引号,如下图所示。
2.修改文件名,去掉空格。
在这里插入图片描述

补充一:

知识图谱数据集:http://www.openkg.cn/home
网页展示:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用openpyxl库将Excel数据读取为Python中的数据结构,然后使用py2neo库将数据导入Neo4j,并根据数据的不同类型创建不同的节点和关系。 以下是导入包含多种节点和关系的Excel数据的示例: ```python from openpyxl import load_workbook from py2neo import Graph, Node, Relationship # 连接到Neo4j数据库 graph = Graph(host='localhost', port=7687, auth=('username', 'password')) # 从Excel文件中读取数据 workbook = load_workbook(filename='data.xlsx') worksheet1 = workbook['Sheet1'] # 例如,第一个工作表包含人员数据 worksheet2 = workbook['Sheet2'] # 第二个工作表包含项目数据 # 创建节点和关系 for row in worksheet1.iter_rows(min_row=2): person_node = Node("Person", name=row[0].value, age=row[1].value) graph.create(person_node) for row in worksheet2.iter_rows(min_row=2): project_node = Node("Project", name=row[0].value, start_date=row[1].value, end_date=row[2].value) graph.create(project_node) for p in row[3].value.split(";"): person_node = graph.nodes.match("Person", name=p.strip()).first() if person_node: relationship = Relationship(person_node, "WORKED_ON", project_node) graph.create(relationship) for t in row[4].value.split(";"): technology_node = graph.nodes.match("Technology", name=t.strip()).first() if technology_node: relationship = Relationship(project_node, "USED_TECHNOLOGY", technology_node) graph.create(relationship) ``` 在此示例中,我们假设Excel文件包含两个工作表。第一个工作表包含人员数据,包括名称和年龄。我们将每个人员作为“Person”节点导入Neo4j。第二个工作表包含项目数据,包括名称、开始日期、结束日期、参与人员和使用的技术。我们将每个项目作为“Project”节点导入Neo4j,并使用“WORKED_ON”关系将每个项目连接到参与的人员节点,以及使用“USED_TECHNOLOGY”关系将每个项目连接到使用的技术节点。在导入过程中,我们首先使用节点名称在Neo4j中查找现有的节点,以避免创建重复的节点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值