一、准备数据
1.1 获取数据集
首先需要准备好待导入的 CSV 文件。这里以人物关系数据集为例,确保文件包含人物名称和关系类型两列。
1.2 检查文件编码
CSV 文件在读取时最容易遇到的坑就是编码问题。建议用记事本打开文件,查看是否包含非 ASCII 字符(如中文)。
1.3 另存为 UTF-8
如果文件不是 UTF-8 格式,请在保存时选择'UTF-8'编码。这一步至关重要,否则后续 Python 脚本会抛出 UnicodeDecodeError。
二、配置 Neo4j
2.1 创建数据库
启动 Neo4j Desktop 或 Docker 容器后,创建一个新的数据库实例。设置好数据库名称和管理员密码,建议密码强度适中以便记忆。
2.2 验证环境
启动服务后,进入 Browser 界面,执行以下 Cypher 语句确认数据库为空且连接正常:
match(n) return n;
如果没有返回任何节点,说明数据库初始化成功,可以开始导入。
三、搭建 Python 环境
3.1 项目初始化
在 PyCharm 或其他 IDE 中新建一个 Python 项目。为了管理依赖方便,建议使用虚拟环境。
3.2 安装依赖
打开 Terminal,安装必要的库。我们需要 pandas 处理表格,py2neo 操作图数据库。
pip install pandas py2neo
3.3 检查解释器
确保 IDE 中选择的 Python 解释器与终端一致,避免安装到系统环境而 IDE 未识别的情况。
四、编写导入脚本
4.1 连接测试
首先写一段简单的连接代码,验证网络通畅及凭据正确。注意修改其中的密码为你实际设置的值。
4.2 读取数据
使用 Pandas 读取 CSV 文件。记得指定 encoding='utf-8',防止乱码。
import pandas as pd
data = pd.read_csv('data.csv', encoding='utf-8')
print(data.head())
4.3 数据处理
遍历 DataFrame 的每一行,提取人物 A、关系、人物 B。我们将这些数据整理成元组列表,方便后续批量插入。
tuple_total = []
for index, row in data.iterrows():
ties_total = [row['人物'], row['关系'], row['关系人物']]
tuple_total.extend([ties_total])
4.4 创建节点
定义一个函数来批量创建节点。这里我们统一给节点打上 人物 标签。
py2neo Graph, Node
():
name people:
node_1 = Node(, name=name)
graph.create(node_1)


