python读取和存储dict()与.json格式文件
2017-08-02 08:42
656 查看
2018.3.7更新 : 优化了部分内容
原来那篇是用另一个编辑器写的,写的代码看起来比较乱,效果很差,我自己看着都觉得很恶心,于是想要在markdown编辑器下重新编辑那篇博客,把格式问题解决了,但是csdn好像是不支持这样做,我在修改后只能当一篇新的博客发布…就这样吧,这篇看着舒服多了,两篇重复的就重复了吧,不是我本意…
一、读取.json格式文件并将数据保存到字典中:
数据文件:hg.json{"商家名称": "珍滋味港式粥火锅(工体店)", "评分": 27.0, "地址": "火锅工人体育场东路丙2号中国红街3号楼2层里", "人均消费": 174, "评论数量": 2307} {"商家名称": "井格老灶火锅(望京新世界店)", "评分": 26.2, "地址": "火锅望京广顺南大街路16号", "人均消费": 105, "评论数量": 1387} {"商家名称": "脸谱港式火锅(酒仙桥丽都店)", "评分": 24.5, "地址": "火锅芳园西路6号一层", "人均消费": 218, "评论数量": 39}
当获取的数据为上述类型,即每个字典之间以回车分割时,可以采用如下方法将json编码的字符串转换为python数据结构dict:
# -*- coding: utf-8 -*- import json import codecs data = [] with codecs.open("hg.json", "r", "utf-8") as f: for line in f: dic = json.loads(line) data.append(dic) print json.dumps(dic, indent=4, ensure_ascii=False, encoding='utf-8')
二、保存字典数据到.json文件中
dic = {"商家名称": "井格老灶火锅(望京新世界店)", "评分": 26.2, "地址": "火锅望京广顺南大街路16号", "人均消费": 105, "评论数量": 1387} with codecs.open('hg.json','a', 'utf-8') as outf: json.dump(dic, outf, ensure_ascii=False) outfile.write('\n')
三、在命令行中输出字典时的乱码问题
代码中中直接写:如果字典数据中有中文的话,
print dic是无法正常显示中文的,可通过下面的方法输出字典数据:
dic = {"北京": [446, 208.7, 110000], "天津": [454.2, 219.8, 120000], "上海": [498.6, 319.7, 310000]} print json.dumps(dic, ensure_ascii=False, encoding='utf-8', indent=4)
四、将字符串数据转化为字典数据
两种转化方法user = "{'name' : 'LiHua', 'sex' : 'male', 'age': 18}" dic1 = eval(user) exec("dic2="+user)
补充
一般来说,json解码时会从所提供的数据中创建出字典或者列表,如果想创建其它类型的对象,可以为json.loads()方法提供
object_pairs_hook或者
object_hook参数。下面的示例展示了我们应该如何将json数据解码为OrderedDict(有序字典),这样可以保持数据的顺序不变。
>>> s = '{"name":"ACME", "SHARES":50, "PRICE":490}' >>> from collections import OrderedDict >>> data = json.load(s, object_pairs_hook=OrderedDict) >>> data OrderedDict([('name', 'ACME'), ('shares', 50), ('price', 490)] >>>
相关文章推荐
- python读取和存储dict()与.json格式文件
- python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取
- 【Python】读取一个目录,将文件名称转换成 json 格式
- 在python里面读取json格式文件
- python.json/pygal.maps.world学习范例-读取json格式文件、生成世界地图
- 在文件中读取、存储Json格式的字符串
- Python 读取写入 json 格式的文件
- python任务-从文件读取参数来发送json格式的post请求,再讲请求结果保存到文档里
- Python使用xlrd读取Excel格式文件的方法
- android 读取JSON格式文件
- python读取excel格式的文件
- 【学习笔记】python读取json内容转换成excel格式
- Python读取json文件
- python 读取与存储json
- Python下读取转换unicode的json格式
- Python读写json格式文件
- Python 使用 xlrd 读取 Excel格式文件
- Python怎么读写json格式文件
- 文字匹配解析例子(读取Json 格式配置文件)
- PE文件数字签名信息读取存储及格式具体解释图之上(历史代码,贴出学习)