跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Python 实现 CSV 数据导入 Neo4j

使用 Python 结合 neo4j-driver 和 py2neo 库将 CSV 文件数据导入 Neo4j 图数据库的完整流程。主要步骤包括准备 UTF-8 格式的 CSV 数据集、安装必要的 Python 依赖(pandas, neo4j-python-driver, py2neo)、配置并启动 Neo4j 服务。通过 Python 脚本读取 CSV 数据,解析人物与关系,初始化节点并创建关系边,最终在 Neo4j Browser 中验证数据导入情况。同时提供了常见编码错误 UnicodeDecodeError 的解决方案。

林间仙子发布于 2026/4/5更新于 2026/9/973 浏览
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 数据库

文章配图

2.5 运行查看该数据库是否为空

match(n) return n;

文章配图

文章配图

三、打开 Python 创建项目

3.1 创建一个包,存项目

文章配图

3.2 创建一个项目

文章配图

3.3 检查自己的依赖是否完全

3.3.1 点击 File-Settings

文章配图

3.3.2 找到 Project:PythonProject-Python Interpreter

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

文章配图

3.4 导入相关依赖,打开 Terminal

文章配图

3.5 输入命令

pip install neo4j-python-driver pandas py2neo

文章配图

四、实现 Python 连接 Neo4j

4.1 Python 连接 Neo4j 测试

注意:其中的密码需修改为实际设置的 Neo4j 密码。

文章配图

4.2 导入数据集

注意:请根据实际情况修改文件路径。

文章配图

4.3 处理数据集

执行结果如下

文章配图

4.4 初始化 neo4j 并合并数据集关系

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

文章配图

4.5 把节点导入到 Neo4j 中

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

文章配图

4.6 运行代码后,查看 Neo4j 是否有节点

文章配图

文章配图

文章配图

4.7 导入节点关系

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)

文章配图

4.8 查看 Neo4j

文章配图

文章配图

五、该过程出现的 Bug

5.1 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte

文章配图

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

文章配图

目录

  1. 一、获取数据集
  2. 1.1 获取数据集
  3. 1.2 以记事本方式打开文件
  4. 1.3 另存为 UTF-8 格式文件
  5. 1.4 选择是
  6. 二、打开 Neo4j 并运行
  7. 2.1 创建新的 Neo4j 数据库
  8. 2.2 分别设置数据库名和密码
  9. 2.3 启动 Neo4j 数据库
  10. 2.4 打开 Neo4j 数据库
  11. 2.5 运行查看该数据库是否为空
  12. 三、打开 Python 创建项目
  13. 3.1 创建一个包,存项目
  14. 3.2 创建一个项目
  15. 3.3 检查自己的依赖是否完全
  16. 3.3.1 点击 File-Settings
  17. 3.3.2 找到 Project:PythonProject-Python Interpreter
  18. 3.4 导入相关依赖,打开 Terminal
  19. 3.5 输入命令
  20. 四、实现 Python 连接 Neo4j
  21. 4.1 Python 连接 Neo4j 测试
  22. 4.2 导入数据集
  23. 4.3 处理数据集
  24. 4.4 初始化 neo4j 并合并数据集关系
  25. 初始化一个空列表来存储所有的元组
  26. 迭代 DataFrame 的每一行
  27. 4.5 把节点导入到 Neo4j 中
  28. 4.6 运行代码后,查看 Neo4j 是否有节点
  29. 4.7 导入节点关系
  30. 导入关系
  31. 4.8 查看 Neo4j
  32. 五、该过程出现的 Bug
  33. 5.1 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte

更多推荐文章

查看全部
  • AI 产品经理必懂:数据标注流程与模型评估
  • Go2 机器人 ROS2 仿真环境搭建指南
  • C++ 类和对象进阶:深入理解默认成员函数与运算符重载
  • 从后端视角理解前端基础:HTML、CSS 与 JavaScript
  • AI 编程工具对比:Cursor、GitHub Copilot 与 Claude Code
  • C++ 红黑树:原理、旋转与完整实现
  • 从语法纠错到项目重构:Python+Copilot 的全流程开发效率提升指南
  • JWT 的原理、流程与安全实践
  • Python+Matplotlib 大数据可视化高效解决方案
  • 飞书自定义机器人 Webhook 接入实战
  • OpenClaw 本地部署与飞书机器人接入实战指南
  • Google Stitch AI UI 设计工具使用指南
  • Java HashMap 从链表到红黑树的进化之路
  • Python 数据分析与可视化全面指南
  • openJiuwen 企业级 Agent 平台架构设计与私有化部署实战
  • GitHub Copilot 实战指南:配置、指令与开发实践
  • 架构逆转向量:AI 时代规范驱动开发(SDD)的范式重构与实践
  • Pi0 模型 LoRA 微调实战:基于自有机器人数据的动作策略适配
  • 2026 年 Web 前端开发的 8 大趋势
  • AI 绘画在商业设计中的应用与版权探讨

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online