实现 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 数据库

综述由AI生成如何使用 Python 脚本将 CSV 格式的人物关系数据导入 Neo4j 图数据库。主要步骤包括准备 UTF-8 编码的 CSV 文件,安装并配置 Neo4j 服务,在 Python 环境中安装 neo4j、pandas 和 py2neo 依赖库。通过代码读取 CSV 数据,初始化图连接,批量创建人物节点及关系节点,最后验证数据导入结果。同时提供了常见编码错误(UnicodeDecodeError)的解决方案。

准备《我是刑警》的人物关系数据集资源。








match(n) return n;





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


pip install neo4j-python-driver pandas py2neo

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

其中地址需要改变,其它地方都不用变
运行结果如下

执行结果如下

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

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




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)




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


微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online