python如何读取和存储dict()与.json格式文件


Posted in Python onJune 25, 2022

读取和存储dict()与.json格式文件

读取.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)
    outf.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)]
>>>

将dict数据写入json文件中

现在获取一个医药网站的数据,最终转换成dict类型,需要将数据写入JSON文件中,以方便后面数据的使用

with open('./medical.json', 'w',encoding='utf-8') as fp:
   json.dump(data, fp)

但得到的最终数据却是这样:

python如何读取和存储dict()与.json格式文件

本来应该是正常的中文字符串,却是ASCII编码,因此在dump方法中添加一个ensure_ascii参数,原因是dump()方法将字典转化为字符串,会默认将其中unicode码以ascii编码的方式输入到字符串中

with open('./medical.json', 'w',encoding='utf-8') as fp:
   json.dump(data, fp,ensure_ascii=False)

python如何读取和存储dict()与.json格式文件

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。


Tags in this post...

Python 相关文章推荐
python3.0 字典key排序
Dec 24 Python
python通过pil将图片转换成黑白效果的方法
Mar 16 Python
Python多线程和队列操作实例
Jun 21 Python
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
python交换两个变量的值方法
Jan 12 Python
在python里面运用多继承方法详解
Jul 01 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
python基础 range的用法解析
Aug 23 Python
python对Excel按条件进行内容补充(推荐)
Nov 24 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
python运行脚本文件的三种方法实例
Jun 25 #Python
如何利用python创作字符画
利用Python实时获取steam特惠游戏数据
Python first-order-model实现让照片动起来
python热力图实现的完整实例
彻底弄懂Python中的回调函数(callback)
Jun 25 #Python
利用Python实现翻译HTML中的文本字符串
Jun 21 #Python
You might like
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
python中的代码编码格式转换问题
2015/06/10 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python实现抢购IPhone手机
2018/02/07 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
python3对接mysql数据库实例详解
2019/04/30 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
Python各种扩展名区别点整理
2020/02/27 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
产假请假条
2014/04/10 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
音乐教师求职信范文
2015/03/20 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
公司职员入党自传书
2015/06/26 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript