1,json
json.dumps() ---將字典轉成JSON格式
import json
zhidian_json=[{
'name':'jing1',
'age':'21',
},
{
'name':'jing2',
'age':'22',
}]
#json.dumps()--數據轉成字符串
json_str =json.dumps(zhidian_json)
print(json_str)
>>[{"name": "jing1", "age": "21"}, {"name": "jing2", "age": "22"}]
-----------------------------
#把字符串存儲文件中,personyj2.json=文件名稱,
with open('personyj2.json','w',encoding='utf-8')as fp:
# fp.write(json_str) #數據寫入文件中
json.dump(zhidian_json,fp) #用json寫入文件中,ensure_ascii=False,關閉它默認的形式
json.loads()解碼python json格式
json.load()加載python json格式文件
2,csv文件
讀取csv:
方法一(根據座標去獲取---csv.reader( ))
#讀取文件,根據座標去獲取
def duqu():
with open('stock.csv','r') as fp:
#讀取文件, reader=迭代器
reader =csv.reader(fp)
#從第二行開始
next(reader)
for x in reader:
#print(x) #獲取全部
#獲取單個
name=x[2]
id=x[1]
#可以對數據進行操作
print({'name':name,'id':id})
方法二(根據標題去獲取--csv.DictReader( ))
#根據標題去獲取
def duqu2():
with open('stock.csv','r') as fp:
#csv.DictReader(fp)不貴包含標題,返回字典
reader=csv.DictReader(fp)
for x in reader():
value ={"name":x['name'],"id":x['id']}
print(value)
>>name:jing,id:1
寫入CVS文件:
方法一:(正常保存 )
writer.writerow() :一次性可以寫入多行數據
newline=" " :把空內容去除掉
#寫入csv.writer(fp)--寫入數據
headex=['username','age','height']
values=[
('jing1',10,170),
('jing2',11,180),
('jing3',12,190),
]
with open('class.csv','w',encoding='utf-8',newline="") as fp:
writer = csv.writer(fp)
writer.writerow(headex) #writer.writerow()----一次性可以寫入多行數據
writer.writerows(values)
》》》
username,age,height
jing1,10,170
jing2,11,180
jing3,12,190
方法二:(爬取內容字典保存 )
csv.DictWriter(fp,headex) :字典方式保存
headex=['username','age','height']
values=[
{'username':'jinga1','age':10,'height':170},
{'username':'jinga2','age':10,'height':170},
{'username':'jinga3','age':10,'height':170}
]
with open('class.csv','w',encoding='utf-8',newline="") as fp:
writer = csv.DictWriter(fp,headex) #字典方式保存
writer.writeheader()#寫入表頭數據的時候,需要調用writeheader方法
writer.writerow(values)