python - Python:将字典存储在多个 json 文件中
问题描述
我有一本这样的字典:
{'ahik': [2, 1, 3, 1, 4, 1, 5, 1], 'tyeo': [5, 4, 3, 5, 3, 3, 2], 'abc': [1, 2, 3, 4, 5, 2, 1]....}
由于字典非常大,我想将它存储在两个 json 文件中,两个文件都包含字典的一部分(比如说 50%)。另外,存储后如何检索它?
解决方案
有多种方法可以拆分字典。这是一个。
from itertools import islice
spam = {'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5'}
spam1, spam2 = [dict(islice(spam.items(), i, None, 2)) for i in (None, 1)]
print(spam1, spam2) # {'a': '1', 'c': '3', 'e': '5'} {'b': '2', 'd': '4'}
我们本可以将项目转换为元组并使用常规切片,但由于您的 dict “非常大”,因此使用islice
.
import json
然后您可以使用json.dump()
将字典保存到文件中,并json.load()
从文件中获取字典。
要合并两个字典,请使用dict.update()
spam1.update(spam2)
print(spam1) # {'a': '1', 'c': '3', 'e': '5', 'b': '2', 'd': '4'}
推荐阅读
- c++ - std::thread 不是全局变量,但在到达创建它的函数末尾时不会超出范围?
- javascript - 基于 ACF 单选按钮输入的功能隐藏 DIV
- json - 使用 Python 将包含枚举值的字典数据写入 JSON 文件
- oop - 如何解析嵌套对象?
- c++ - 遍历向量以获得搜索功能
- twitter-bootstrap - 使用 Bootstrap 浮动 div 后堆叠内容
- c++ - 从 C++ 中定义的异常返回整数
- python - Fermat 自动检查脚本
- python-3.x - 熊猫数据框,找到最大值并返回相邻列的值,而不是整行
- ionic2 - 无法绑定到“lazyLoad”,因为它不是 ionic3 中“img”标签的已知属性?