搜尋

首頁  >  問答  >  主體

python - 如何把字串轉換為字典?

儲存資料時,格式成為此種模式,這樣的資料還有很多:

{"status": "0", "msg": "ok", "result": {"name": "露水", "content": "<p>釋名
在秋露重的時候,早晨去花草間收取。</p><p>氣味
甘、平、無毒。</p> <p>主治
以煎煮潤肺殺蟲劑的藥劑,或將治療疥癬、蟲癩的散劑調成外敷藥,可以增強療效。
白花露:止消渴。
百花露:能令皮膚健好。
柏葉露、菖蒲露:每天早晨洗眼睛,能增強視力。
韭葉露:治白癜風。每天早晨塗患處。 </p>", "commentary": "", "translation": "", "appreciation": "", "interpretation": ""}}
{"status": "0", "msg ": "ok", "result": {"name": "明水", "content": "<p>釋名
亦稱方諸水。方諸是一種大蚌的名字。月明之夜,捕得方諸,取其殼中貯水,清明純潔,即是方諸水。</p><p>氣味
#甘、寒、無毒。</p><p>主治
用以洗眼,可以去霧明目,飲此水,還有安神的作用,亦去小兒煩熱。</p>", "commentary": "", "translation": ""}}

type後顯示它的格式為字串,我用了內建函數,還是沒能轉換成標準的字典格式,如下:

from pprint import pprint
import json
import requests
with open('bencao_detail','r',encoding='utf8') as file:
    str_file = file.read()
str_file

輸出結果如下:

'{"status": "0", "msg": "ok", "result": {"name": "露水", "content": "<p> 釋名
在秋露重的時候,早晨去花草間收取。</p><p>氣味
甘、平、無毒。</p> ;<p>主治
用煎煮潤肺殺蟲劑的藥劑,或把治療疥癬、蟲癩的散劑調成外敷藥,可以增強療效。
白花露:止消渴。
百花露:能令皮膚健好。
柏葉露、菖蒲露:每天早晨洗眼睛,能增強視力。
韭葉露:治白癜風。每天早晨塗患處。</p>", "commentary": "", "translation": "", "appreciation": "", "interpretation": ""}}n{"status": "0", "msg" : "ok", "result": {"name": "明水", "content": "<p>釋名
亦稱方諸水。方諸是一種大蚌的名字。月明之夜,捕得方諸,取其殼中貯水,清明純潔,即是方諸水。</p><p>氣味
#甘、寒、無毒。</p><p>主治
用以洗眼,可以去霧明目,飲此水,還有安神的作用,亦去小兒煩熱。</p>", "commentary": "", "translation": ""}}n{"status": "0", "msg": "ok", "result": {"name": "冬霜", "content": "<p>釋名
取霜法:用雞毛掃取,裝入瓶中,密封保存於陰涼處,雖成水液,曆</p><p>氣味
甘、寒、無毒。</p><p>主治
#飲冬霜可解酒熱,凡酒後面熱耳赤者,飲之立消。傷寒鼻塞,飲冬霜亦可通鼻。</p><p>附方
#暑天長痱子及腋下紅腫,用冬霜及蚌粉塗敷,有效。寒熱瘧疾,可秋後霜或冬霜一崐錢半,熱酒送下,亦見效。 </p>", "commentary" : "", "translation": ""}}n

#怎麼可以使它成為一個一個的字典?

阿神阿神2713 天前839

全部回覆(2)我來回復

  • phpcn_u1582

    phpcn_u15822017-06-22 11:54:19

    其實這種標準字典格式的,eval是最簡單的。

    t='''{"status": "0", "msg": "ok", "result": {"name": "露水", "content": 
    "<p>释名在秋露重的时候,早晨去花草间收取。</p><p>气味甘、平、无毒。</p><p>主治用以煎煮润肺杀虫的药剂,或把治疗疥癣、虫癞的散剂调成外敷药,可以增强疗效。白花露:止消渴。百花露:能令皮肤健好。柏叶露、菖蒲露:每天早晨洗眼睛,能增强视力。韭叶露:治白癜风。每天早晨涂患处。</p>", "commentary": "", "translation": "", "appreciation": "", "interpretation": ""}}'''
    
    a=eval(t)
    

    回覆
    0
  • 巴扎黑

    巴扎黑2017-06-22 11:54:19

    你都知道import json了,問什麼還來提問

    import json
    
    with open('bencao_detail','r',encoding='utf8') as file:
        str_file = file.read()
        dict_data = json.loads(str_file)
        
        // 或者
        
        dict_data = json.load(file)
        

    回覆
    0
  • 取消回覆