【发布时间】:2015-02-18 08:42:03
【问题描述】:
我有一个大小为几 G 的文件,每行都包含一个 JSON 哈希。文档本身不是一个有效的 JSON 文档,但是我无法控制这些数据的生成,所以我无法更改它。
需要读取 JSON,需要对 JSON 中的某些“字段”执行查找,然后将这些查找的结果插入 MySQL 数据库。
目前,处理这个文件需要几个小时,我认为这是因为我在每一行上插入和提交而不是使用 executemany,但是我正在努力找出如何最好地解决这个问题,因为我需要将查找作为过程的一部分,然后插入到多个表中。
流程如下:
1) 遍历文件,边走边读每一行
2) 对于每一行,判断是否需要插入数据库
3) 如果确实需要将该行插入数据库,请查找各种 JSON 字段的外键并用 FK id 替换它们
4) 将“新”行插入数据库。
问题出现在 (3) 处,因为在某些情况下,FK id 是通过插入数据子集创建的。
简而言之,我需要大量插入嵌套数据结构,其中嵌套数据的各个部分需要插入到不同的表中,同时保持引用完整性。
感谢大家的帮助,
马特
【问题讨论】:
标签: python mysql json database