json一次寫入和讀取多條數據


 json數據:一種輕量級的標准數據的交換格式,各種語言數據傳輸的一種格式

dumps和dump都是將python的數據類型序列化成json對象

import json
dic = {'name': 'rock', 'li': [1, 2, 3, 4]}
json_obj = json.dumps(dic)
print(json_obj, type(json_obj))

  

loads和load 是將json對象 反序列化 成python語言或者其他語言的數據類型

s = '{"name": "rock", "li": [1, 2, 3, 4]}' # json數據的字符串一定要用雙引號
di = json.loads(s)
print(di, type(di))

 

json一次寫入多條數據

import json
dic = {'name': 'rock', 'hobby_list': ['跑步', '打球']}

f1 = open('json_learn', 'a', encoding='utf-8')
d = json.dumps(dic)
# f1.write(d)   # 一定要換行
f1.write(d + '\n')   # 一定要換行
f1.close()

f2 = open('json_learn', 'r', encoding='utf-8')
for con in f2:
    data = json.loads(con)
    print(data)
f2.close()

 

json中的字典的鍵必須是字符串

# 坑     json中的鍵必須是字符串
dic1 = {1: 'rock', 2: 33}
dic3 = {55: 'rock', 8: 33}
d = json.dumps(dic1)
print(d)
print(json.loads(d))

 json顯示中文

# ensure_ascii=False 顯示中文
# sort_keys 按鍵排序
# separators=('|',',') 設置分隔符 s = json.dumps(dic1, ensure_ascii=False, sort_keys=True,separators=('|', ',')) print(s) s1 = json.dumps(dic1) print(s1)

 

dump和load寫入讀取文件,只能寫入讀取一條數據,多條報錯

import json
dic1 = {'name': 'rock'}
dic2 = {'name': 'chen'}
dic3 = {'name': 'zi'}
with open('多個字典.json', encoding='utf-8', mode='w') as f1:
       json.dump(dic1, f1)
       f1.write('\n')
       json.dump(dic2, f1)
       f1.write('\n')
       json.dump(dic3, f1)
       f1.write('\n')

with open('多個字典.json', encoding='utf-8',) as f1:
       ret1 = json.load(f1)
       ret2 = json.load(f1)
       ret3 = json.load(f1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM