2024-04-18 03:29:18 发布
网友
我习惯于使用.csv文件在Python中输入和输出数据,但这显然是一个挑战。对于在json或pck文件中存储字典(或字典集)的简单方法有何建议?例如:
data = {} data ['key1'] = "keyinfo" data ['key2'] = "keyinfo2"
我想知道如何保存这个,然后如何加载回。
例如,直接写入文件:
import json json.dump(data, open(filename, 'wb')) data = json.load(open(filename))
或安全打开/关闭:
import json with open(filename, 'wb') as outfile: json.dump(data, outfile) with open(filename) as infile: data = json.load(infile)
如果要将其保存为字符串而不是文件:
import json json_str = json.dumps(data) data = json.loads(json_str)
另请参见加速包ujson。 https://pypi.python.org/pypi/ujson
import ujson with open('data.json', 'wb') as fp: ujson.dump(data, fp)
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)
有关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_keys或indent这样的额外参数以获得一个漂亮的结果。参数sort-keys将按字母顺序对键进行排序,而indent将用indent=N空格缩进数据结构。
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)
例如,直接写入文件:
或安全打开/关闭:
如果要将其保存为字符串而不是文件:
另请参见加速包ujson。 https://pypi.python.org/pypi/ujson
Pickle保存:
有关
protocol
参数的其他信息,请参见the pickle module documentation。Pickle加载:
JSON保存:
提供像
sort_keys
或indent
这样的额外参数以获得一个漂亮的结果。参数sort-keys将按字母顺序对键进行排序,而indent将用indent=N
空格缩进数据结构。JSON加载:
相关问题 更多 >
编程相关推荐