首页 > 解决方案 > 吐出一个用于临时使用的 json 文件的巧妙方法(并将其读回)

问题描述

我在我的 python 应用程序中使用 dedupe 包。对于它的 prepare_training 方法,它需要一个指向训练数据的文件指针。IE

deduper.prepare_training(temp_d, training_file=tf, sample_size=self.training_sample_size)

我将所有内容都保存在数据库中......我的所有数据和元数据用于我的应用程序中的所有其他内容。 我也想将这些训练数据保存在数据库中。所以我想我会把它保存在表中..将它吐到 JSON 文件中..让训练在使用控制台进行一些训练时改变数据..然后将文件加载回表中培训完成。

(除非我听说 dedup 已经开始支持指向训练数据表;))

那么.. 将表转储到 JSON 文件,然后在完成后刷新回表的快速方法是什么?我目前使用的是 MySQL v 5.6,所以我没有太多 JSON 功能。不过我确实计划很快升级。 对于那些不熟悉 dedup.. 这个文件可能会变得非常大.. 所以不确定读一行,写一行是否有意义.. 因为如下所示,整个文件似乎是 1 行..

训练文件基本上是一个带有两对的 JSON 字符串。匹配列表和不同列表。具有两个不同记录和两个匹配项的示例。仅使用全名字段进行匹配:

{“不同”:[[{“party_id”:“13aeae53cc201e9d5c3fc04bd12c04384730413”,“full_name”:null},{“party_id”:“c5ea6c1fefd4404a011a31029bd46cd5c39c543”,“full_name”:“xxx GOULDEN”}],[{” 18ffd01f7f3e0de6486fd259a0fbb1599712c6d", "full_name": "yyy FLOWERS"}, {"party_id": "f612d1098a8962e6c477b5a264509d1208de09d", "full_name": null}]], " match ": [[{"party_id": "dd64f638d7eda45c2a4f74514bdfb6e71e7099a", "full_name": “JAFR HAI”},{“party_id”:“f76fe6eccd55c4c1b97b8c7628a579db3db7d4e”,“全名”:“JAFER HAI”}],[{“party_id”:“8f6ca373738b222ee92c0dc22e11f3afe9a0a35", "full_name": "McMe, Dou"}, {"party_id": "fae8b1f635e4a96b30d07c0c9773c4641de83e9", "full_name": "McMe, Dou"}]]}

仅供参考。我使用 SQLAlchemy 库连接到 mySQL。我将 pandas 用于我将 excel 读入 mySQL 的其他几个领域。

至少在表中保存两条记录会很好。所以我可以使用自己的操作更轻松地添加/删除不同或匹配列表中的项目。想法?

标签: pythonmysqljsonpython-dedupe

解决方案


推荐阅读