<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
資料檔案: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'))
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檔案中,以方便後面資料的使用
with open('./medical.json', 'w',encoding='utf-8') as fp: json.dump(data, fp)
但得到的最終資料卻是這樣:
本來應該是正常的中文字串,卻是ASCII編碼,因此在dump方法中新增一個ensure_ascii引數,原因是dump()方法將字典轉化為字串,會預設將其中unicode碼以ascii編碼的方式輸入到字串中
with open('./medical.json', 'w',encoding='utf-8') as fp: json.dump(data, fp,ensure_ascii=False)
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45