標籤:取資料 結果 print write 檔案 san value utf-8 json模組
1、json.dumps()
json.dumps()用於將dict類型的資料轉成str,因為如果直接將dict類型的資料寫入json檔案中會發生報錯,因此在將資料寫入時需要用到該函數。
import jsonname = {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘}jsDumps = json.dumps(name)print(name,‘類型為:%s‘%type(name))print(jsDumps,‘類型為:%s‘%type(jsDumps))
結果為
{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} 類型為:<class ‘dict‘>{"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 類型為:<class ‘str‘>
2、json.dump()
json.dump()用於將dict類型的資料轉成str,並寫入到json檔案中。下面兩種方法都可以將資料寫入json檔案
import jsonnameList = {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘}fileName = (‘./namejson.json‘)# 方法 1 #現將字典轉為字串,在寫入檔案中jsObj = json.dumps(nameList)with open(fileName, "w",encoding=‘utf-8‘) as f:
f.write(jsObj)
f.close()
# 方法 2 # 直接寫入檔案中 格式:json.dump(字典或列表,開啟檔案,ensure_ascii=False) 關閉ascii轉碼
json.dump(nameList, open(fileName, "w",encoding=‘utf-8‘),ensure_ascii=False)
3、json.loads()
json.loads()用於將str類型的資料轉成dict。
import jsonname = {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘}jsDumps = json.dumps(name)jsLoads = json.loads(jsDumps)print(name,‘類型為:%s‘%type(name))print(jsDumps,‘類型為:%s‘%type(jsDumps))print(jsLoads,‘類型為:%s‘%type(jsLoads))
結果為
{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} 類型為:<class ‘dict‘>{"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 類型為:<class ‘str‘>{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} 類型為:<class ‘dict‘>
4、json.load()
json.load()用於從json檔案中讀取資料。
import jsonemb_filename = (‘./emb_json.json‘)jsObj = json.load(open(emb_filename))print(jsObj)print(type(jsObj))for key in jsObj.keys(): print(‘key: %s value: %s‘ % (key, jsObj.get(key)))
結果為
{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘}<class ‘dict‘>key: a value: zhangsankey: b value: lisikey: c value: mawukey: d value: zhaoliu
Python Json模組中dumps、loads、dump、load函數介紹