Python-爬蟲-(Json和Csv)檔案儲存
阿新 • • 發佈:2019-01-02
用解析器解析出的資料後,可以通過TXT、JSON、CSV等檔案形式進行儲存;
1、TXT形式此處略;
2、JSON檔案儲存
json即js 物件標記,是一種資料格式;
json格式:
json物件:{"username":"ADMIN","pwd":"xxxx","address":"北京"}
json陣列:[{"name":"smith","age":"23"},{"name":"jones","age":"23"},{"name":"zye","age":"23"}]
例如:
1 import json 2 str=''' 3 [{"name":"小明","age":"23"},{"name":"jones","age":"23"},{"name":"zye","age":"23"}]4 ''' 5 print(type(str)) 6 obj=json.loads(str)#將json格式字串轉為json 7 print(type(obj)) 8 #取值 9 print(obj[0]['name']) 10 print(obj[1]['age']) 11 print(obj[1].get('name')) 12 print(obj[1].get('address','北京'))#即如果該欄位為None或者該key不存在時,會採用預設值;即第二個引數為預設值 13 14 #載入一個json檔案 15 with open("read.json",'r') as file:16 s=file.read() 17 j=json.loads(s) 18 print(j[0]['name']) 19 20 #輸出json 21 jsonArray=[{'name':'sd'},{'name':'ss'}] 22 with open('test.json','w') as file: 23 file.write(json.dumps(jsonArray)) 24 25 #或者: 26 jsonObj=json.loads(str) 27 with open('test.json','w') as file: 28 file.write(json.dumps(jsonObj))29 30 #或者:如果有中文,且想格式化 31 jsonObj=json.loads(str) 32 with open('test.json','w',encoding='utf-8') as file: 33 file.write(json.dumps(jsonObj,indent=2,ensure_ascii=False))#格式化了json,
寫入test.json後格式:
[
{
"name": "小明",
"age": "23"
},
{
"name": "jones",
"age": "23"
},
{
"name": "zye",
"age": "23"
}
]