python教程:Json模块中dumps、dump、loads、load函数用法讲解
生活随笔
收集整理的這篇文章主要介紹了
python教程:Json模块中dumps、dump、loads、load函数用法讲解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、json.dumps()和loads()
json.dumps()將dict類型數(shù)據(jù)轉(zhuǎn)成str。
json.loads()剛好相反,將str類型的數(shù)據(jù)轉(zhuǎn)成dict。
import json data= {'a':'1111','b':'2222','c':'3333','d':'4444'} filename = r"d:\1.json" # 使用dumps() str_data = json.dumps(data) print(str_data) #輸出{"a": "1111", "b": "2222", "c": "3333", "d": "4444"}# 使用loads() dict_data = json.loads(str_data) print(dict_data) #輸出{'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}2、json.dump()和json.load()
json.dump主要用來(lái)文件寫(xiě)入,json.load主要用來(lái)文件讀取。但是只能寫(xiě)入讀取一條數(shù)據(jù),多條會(huì)報(bào)錯(cuò)。
json.dump(x,f),x是對(duì)象,f是一個(gè)文件對(duì)象,這個(gè)方法可以將json字符串寫(xiě)入到文件中。
json.load(f),f是一個(gè)文件對(duì)象,這個(gè)方法可以從文件中讀取json數(shù)據(jù)。
''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' import json data = {'a':'1111','b':'2222','c':'3333','d':'4444'} filename = r"d:\1.json" # 使用dump()寫(xiě)入一行數(shù)據(jù) with open(filename, "w") as f:json.dump(data,f)# 使用load()讀取一行數(shù)據(jù) with open(filename, 'r') as f:jsObj = json.load(f) for key in jsObj.keys(): print('key: %s value: %s' % (key,jsObj.get(key)))輸出:
key: a value: 1111 key: b value: 2222 key: c value: 3333 key: d value: 44443、如何讀取寫(xiě)入多行數(shù)據(jù)呢?
import jsonfilename = r"d:\1.json" data = [{'a':'1111','b':'2222','c':'3333','d':'4444'},{'e':'1111','f':'2222','g':'3333','h':'4444'},{'i':'1111','j':'2222','k':'3333','l':'4444'},{'m':'1111','n':'2222','o':'3333','p':'4444'}]#寫(xiě)入多行數(shù)據(jù)到文件 with open(filename,'w') as f:for i in range(len(data)):f.write(json.dumps(data[i])+'\n') #一定要換行#從文件讀取多行數(shù)據(jù),并轉(zhuǎn)化為list with open(filename,'r') as f:jsObj=[json.loads(line) for line in f] print(jsObj)總結(jié)
以上是生活随笔為你收集整理的python教程:Json模块中dumps、dump、loads、load函数用法讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python教程:json中encode
- 下一篇: python教程:模块的作用与说明