使用 Python 将 CSV 数据导入 Neo4j 图数据库
本文演示了如何利用 Python 脚本结合 py2neo 库,将 CSV 格式的人物关系数据清洗并导入 Neo4j 图数据库的全过程。涵盖文件编码转换、环境依赖安装、图节点与关系的创建以及常见编码错误的排查方案。
一、数据准备
在开始之前,确保你的 CSV 文件编码正确。很多中文数据源默认是 GBK 或 ANSI,直接读取容易报错。
- 用记事本打开 CSV 文件。
- 选择'另存为',编码格式务必选 UTF-8。
- 保存时确认覆盖原文件或重命名新文件。
这一步很关键,后续代码若出现 UnicodeDecodeError,通常是因为文件编码不匹配。

二、环境搭建
1. 启动 Neo4j
本地运行 Neo4j 数据库,创建一个新的数据库实例,设置好用户名和密码(默认通常是 neo4j / password,建议修改)。
启动后进入 Browser 界面,输入以下 Cypher 语句验证连接是否成功且数据库为空:
match(n) return n;
如果返回空结果集,说明数据库已就绪。

2. 配置 Python 项目
在 PyCharm 或其他 IDE 中创建新项目,检查解释器环境。需要安装以下核心依赖:
neo4j-python-driver: Neo4j 官方驱动pandas: 处理 CSV 数据py2neo: 简化图数据库操作的封装库
在 Terminal 中执行安装命令:
pip install neo4j-python-driver pandas py2neo
安装完成后,建议在 IDE 的 Settings -> Project Interpreter 中确认这些包已存在。
三、连接与测试
编写一个简单的连接测试脚本,确保 Python 能连通 Neo4j。注意替换为你实际设置的密码。
from py2neo import Graph
# 连接本地 Neo4j,端口默认为 7474
graph = Graph("bolt://localhost:7687", auth=("neo4j", "你的密码"))
# 简单查询验证
result = graph.run("MATCH (n) RETURN count(n)").data()
()




