最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年06月24日 16:38:28   作者:勤奮的清風(fēng)  
這篇文章主要介紹了python如何讀取和存儲dict()與.json格式文件,具有很好的參考價值,希望對大家有所幫助。

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

讀取.json格式文件并將數(shù)據(jù)保存到字典中

數(shù)據(jù)文件:hg.json

{"商家名稱": "珍滋味港式粥火鍋(工體店)", "評分": 27.0, "地址": "火鍋工人體育場東路丙2號中國紅街3號樓2層里", "人均消費": 174, "評論數(shù)量": 2307}{"商家名稱": "井格老灶火鍋(望京新世界店)", "評分": 26.2, "地址": "火鍋望京廣順南大街路16號", "人均消費": 105, "評論數(shù)量": 1387}{"商家名稱": "臉譜港式火鍋(酒仙橋麗都店)", "評分": 24.5, "地址": "火鍋芳園西路6號一層", "人均消費": 218, "評論數(shù)量": 39}

針對上述數(shù)據(jù),可以采用如下方法將json編碼的字符串轉(zhuǎn)換為python數(shù)據(jù)結(jié)構(gòu)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'))

保存字典數(shù)據(jù)到.json文件中

dic = {"商家名稱": "井格老灶火鍋(望京新世界店)", "評分": 26.2, "地址": "火鍋望京廣順南大街路16號", "人均消費": 105, "評論數(shù)量": 1387}
with codecs.open('hg.json','a', 'utf-8') as outf:
? ? json.dump(dic, outf, ensure_ascii=False)
? ? outf.write('\n')

在命令行中輸出字典時的亂碼問題

如果字典數(shù)據(jù)中有中文的話,print dic是無法正常顯示中文的,可通過下面的方法格式化輸出字典數(shù)據(jù):

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))

將字符串?dāng)?shù)據(jù)轉(zhuǎn)化為字典數(shù)據(jù)

兩種轉(zhuǎn)化方法

user = "{'name' : 'LiHua', 'sex' : 'male', 'age': 18}"
dic1 = eval(user)
exec("dic2="+user)

補充

一般來說,json解碼時會從所提供的數(shù)據(jù)中創(chuàng)建出字典或者列表,如果想創(chuàng)建其它類型的對象,可以為json.loads()方法提供object_pairs_hook或者object_hook參數(shù)。下面的示例展示了我們應(yīng)該如何將json數(shù)據(jù)解碼為OrderedDict(有序字典),這樣可以保持數(shù)據(jù)的順序不變。

>>> 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數(shù)據(jù)寫入json文件中

現(xiàn)在獲取一個醫(yī)藥網(wǎng)站的數(shù)據(jù),最終轉(zhuǎn)換成dict類型,需要將數(shù)據(jù)寫入JSON文件中,以方便后面數(shù)據(jù)的使用

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

但得到的最終數(shù)據(jù)卻是這樣:

本來應(yīng)該是正常的中文字符串,卻是ASCII編碼,因此在dump方法中添加一個ensure_ascii參數(shù),原因是dump()方法將字典轉(zhuǎn)化為字符串,會默認將其中unicode碼以ascii編碼的方式輸入到字符串中

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 元組和列表的區(qū)別

    python 元組和列表的區(qū)別

    這篇文章主要介紹了python 元組和列表的區(qū)別,幫助大家更好的理解和學(xué)習(xí)python 數(shù)據(jù)類型的相關(guān)知識,感興趣的朋友可以了解下
    2020-11-11
  • Python解析最簡單的驗證碼

    Python解析最簡單的驗證碼

    最近在學(xué)python,正好遇到學(xué)校需要選宿舍,就用python寫了一個搶宿舍的軟件。下面通過本文給大家介紹python解析最簡單的驗證碼,對python解析驗證碼相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Python實現(xiàn)簡易過濾刪除數(shù)字的方法小結(jié)

    Python實現(xiàn)簡易過濾刪除數(shù)字的方法小結(jié)

    這篇文章主要介紹了Python實現(xiàn)簡易過濾刪除數(shù)字的方法,結(jié)合實例形式總結(jié)分析了Python基于正則及內(nèi)置函數(shù)過濾刪除數(shù)字的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python爬蟲,獲取,解析,存儲詳解

    Python爬蟲,獲取,解析,存儲詳解

    這篇文章主要介紹了Python爬蟲獲取、解析,獲數(shù)據(jù)操作,其中代碼描述非常詳細,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-10-10
  • python opencv鼠標(biāo)交互操作的實用指南

    python opencv鼠標(biāo)交互操作的實用指南

    最近的工作經(jīng)常需要對圖像進行操作,也需要用鼠標(biāo)對圖像進行各種操作,所以下面這篇文章主要給大家介紹了關(guān)于python opencv鼠標(biāo)交互操作的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • python 獲取字典特定值對應(yīng)的鍵的實現(xiàn)

    python 獲取字典特定值對應(yīng)的鍵的實現(xiàn)

    這篇文章主要介紹了python 獲取字典特定值對應(yīng)的鍵的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 基于Python編寫一個IP地址存活檢查器

    基于Python編寫一個IP地址存活檢查器

    這篇文章主要為大家詳細介紹了如何基于Python編寫一個IP地址存活檢查器,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2024-11-11
  • python中itertools模塊zip_longest函數(shù)詳解

    python中itertools模塊zip_longest函數(shù)詳解

    itertools模塊包含創(chuàng)建高效迭代器的函數(shù),這些函數(shù)的返回值不是list,而是iterator(可迭代對象),可以用各種方式對數(shù)據(jù)執(zhí)行循環(huán)操作,今天我們來詳細探討下zip_longest函數(shù)
    2018-06-06
  • python實現(xiàn)鍵盤輸入的實操方法

    python實現(xiàn)鍵盤輸入的實操方法

    在本篇文章里小編給各位分享了關(guān)于python怎么實現(xiàn)鍵盤輸入的圖文步驟以及相關(guān)知識點內(nèi)容,需要的朋友們參考下。
    2019-07-07
  • python實現(xiàn)反轉(zhuǎn)部分單向鏈表

    python實現(xiàn)反轉(zhuǎn)部分單向鏈表

    這篇文章主要為大家詳細介紹了python實現(xiàn)反轉(zhuǎn)部分單向鏈表,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評論

乌兰浩特市| 孟州市| 元江| 宁德市| 清流县| 乳山市| 全州县| 郁南县| 墨玉县| 荃湾区| 札达县| 乌拉特后旗| 武平县| 崇仁县| 江油市| 班玛县| 江山市| 绩溪县| 古田县| 阿尔山市| 平顶山市| 工布江达县| 梧州市| 德惠市| 临潭县| 镇康县| 蒙自县| 闵行区| 海盐县| 福安市| 榆中县| 莱阳市| 保靖县| 上蔡县| 淳安县| 武邑县| 紫云| 砚山县| 榆社县| 汉源县| 沾化县|