1. 程式人生 > >Python-爬蟲-(Json和Csv)檔案儲存

Python-爬蟲-(Json和Csv)檔案儲存

用解析器解析出的資料後,可以通過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"
}
]