python - 存储 Python 字典

我习惯于使用 CSV 文件将数据导入和导出 Python,但这显然存在挑战。有没有简单的方法将字典(或字典集)存储在 JSON 或 pickle 中?文件?

例如:

data = {}
data ['key1'] = "keyinfo"
data ['key2'] = "keyinfo2"

我想知道如何保存它,以及如何重新加载它。

最佳答案

Pickle保存:

try:
    import cPickle as pickle
except ImportError:  # Python 3.x
    import pickle

with open('data.p', 'wb') as fp:
    pickle.dump(data, fp, protocol=pickle.HIGHEST_PROTOCOL)

见 the pickle module documentation有关 protocol 参数的更多信息。

Pickle加载:

with open('data.p', 'rb') as fp:
    data = pickle.load(fp)

JSON保存:

import json

with open('data.json', 'w') as fp:
    json.dump(data, fp)

提供额外的参数,例如 sort_keysindent,以获得漂亮的结果。 sort_keys 参数将按字母顺序对键进行排序,indent 将使用 indent=N 空格缩进您的数据结构。

json.dump(data, fp, sort_keys=True, indent=4)

JSON加载:

with open('data.json', 'r') as fp:
    data = json.load(fp)

https://stackoverflow.com/questions/7100125/

相关文章:

python - Python 中的元类是什么?

javascript - 将对象字符串转换为 JSON

ios - 如何将 JSON 字符串反序列化为 NSDictionary? (适用于 iOS 5+)

python - Python有三元条件运算符吗?

jquery - TypeError : $. ajax(...) 不是函数?

python - 如何检查文件是否存在无异常?

python - 如何执行程序或调用系统命令?

python - 如何将网页中的 JSON 转换为 Python 脚本

python - 如何在 Python 中检查字符串是否是有效的 JSON?

python - 如果 __name__ == "__main__": do? 会怎样