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

使用 Python 将 CSV 数据导入 Neo4j

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

DevStack发布于 2026/4/6更新于 2026/5/2224 浏览
使用 Python 将 CSV 数据导入 Neo4j

实现 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 测试

其中的'123456'是你刚刚建立的 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. 实现 Python 将 CSV 数据导入到 Neo4j
  2. 一、获取数据集
  3. 1.1 获取数据集
  4. 1.2 以“记事本”方式打开文件
  5. 1.3 另存为“UTF-8”格式文件
  6. 1.4 选择“是”
  7. 二、打开 Neo4j 并运行
  8. 2.1 创建新的 Neo4j 数据库
  9. 2.2 分别设置数据库名和密码
  10. 2.3 启动 Neo4j 数据库
  11. 2.4 打开 Neo4j 数据库
  12. 2.5 运行查看该数据库是否为空
  13. 三、打开 Python 创建项目
  14. 3.1 创建一个包,存项目
  15. 3.2 创建一个项目
  16. 3.3 检查自己的依赖是否完全
  17. 3.3.1 点击“File”-“Settings”
  18. 3.3.2 找到“Project:PythonProject”-"Python Interpreter"
  19. 3.4 导入相关依赖,打开 Terminal
  20. 3.5 输入命令
  21. 四、实现 Python 连接 Neo4j
  22. 4.1 Python 连接 Neo4j 测试
  23. 4.2 导入数据集
  24. 4.3 处理数据集
  25. 4.4 初始化 Neo4j 并合并数据集关系
  26. 初始化一个空列表来存储所有的元组
  27. 迭代 DataFrame 的每一行
  28. 4.5 把节点导入到 Neo4j 中
  29. 把节点导入 neo4j 中
  30. 4.6 运行代码后,查看 Neo4j 是否有节点
  31. 4.7 导入节点关系
  32. 导入关系
  33. 4.8 查看 Neo4j
  34. 五、该过程出现的 Bug
  35. 5.1 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 快速排序核心原理与多种实现方式详解
  • iOS 26 系统兼容适配:UITabBar 液态玻璃效果与 WiFi SSID 获取
  • AI 生成图片提示词:新手入门指南与最佳实践
  • 海螺 AI 多模态架构与技术实现解析
  • Python 爬虫实战:抓取微信公众号文章内容
  • Linux 系统权限详解:用户、文件与目录管理
  • Moyin Creator(魔因漫创):AI 影视生产级全流程创作工具
  • MySQL 数据类型详解:从数值到字符串的实战指南
  • FPGA 实现高速数字信号处理:原理、架构与实战
  • Spring Boot WebClient 集成大模型 API:OpenAI、文心一言、通义千问
  • AIGC 技术解析:市场现状、应用场景与未来趋势
  • 哈希表核心原理:冲突处理与 C++ 实战实现
  • 2026 免费 AI 编程助手排行榜:文心快码、Copilot 与 Cursor 深度评测
  • Unity VR Pico 开发环境一键配置指南
  • Gitea 本地部署指南与常用 Git 命令速查
  • 深入理解前端防抖与节流:原理、区别与实战示例
  • Rock 5B+ 部署 MAVSDK 控制无人机及 WSL 运行 PX4 仿真环境搭建
  • AIGC 时代 Python 高效编程学习指南:实战与 AI 辅助
  • 基于 Llama.cpp 本地部署大语言模型实战
  • C++ 容器适配器详解:Stack、Queue、Priority Queue 与 Deque

相关免费在线工具

  • RSA密钥对生成器

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

  • Mermaid 预览与可视化编辑

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

  • 随机西班牙地址生成器

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

  • curl 转代码

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

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online