中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么讀取和存儲dict()與.json格式文件

發布時間:2022-07-14 14:14:32 來源:億速云 閱讀:317 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“python怎么讀取和存儲dict()與.json格式文件”,內容詳細,步驟清晰,細節處理妥當,希望這篇“python怎么讀取和存儲dict()與.json格式文件”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

讀取和存儲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格式文件

讀到這里,這篇“python怎么讀取和存儲dict()與.json格式文件”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘洛县| 凤翔县| 盐城市| 辰溪县| 赣榆县| 四川省| 嘉荫县| 桂阳县| 泾源县| 锡林浩特市| 芦溪县| 普格县| 卓尼县| 扬州市| 桂东县| 旬阳县| 岫岩| 鄂温| 张家川| 荔浦县| 当涂县| 宿迁市| 二连浩特市| 桦甸市| 澄江县| 宝丰县| 曲沃县| 天水市| 宝鸡市| 沧州市| 武汉市| 邢台县| 长沙县| 昌平区| 钟祥市| 新民市| 辉县市| 陕西省| 辛集市| 池州市| 监利县|