python學習筆記7---數據存儲

dump成json字符串以及編碼問題

import json

persons = [
{
'username':"蔡",
'age':18
},
{
'username':"時",
'age':19
}
]
with open('person.json','w') as fp:
    json.dump(persons,fp,ensure_ascii=False)# json在dump時只能存放ascii字符,所以用ensure_ascii=False關閉這個特性
    

只有基本數據類型才能轉換成JSON格式的字符串,即:int、float、str、list、dict、tuple

load成python對象

import json
with open('person.json','r',encoding='utf-8') as fp:
    persons = json.load(fp)
    print(type(persons))  #list
    for person in persons:
        print(person)

讀取csv文件的兩種方式

import csv
 
with open('stock.csv','r') as fp:
    # reader是迭代器
    reader = csv.reader(fp)
    next(reader) # 跳過第0行,即不顯示標題
    for x in reader:
        name=x[3]
        volumn = x[-1]
        print({'name':'name','volumn':volumn})
import csv
with open('stock.csv','r') as fp:
    reader= csv.DictReader(fp)
    for x in reader:
        value = {"name":x['secShortName'],'volumn':x['turnoverVol']}
        print(value)

寫入csv文件的兩種方式

方法①

import csv
headers = ['username','age']
values = [
('張三',18)
('李四',20)
]
# newline去掉每一行中隔的空行
with open('classroom.csv','w',encoding='utf-8',newline='') as fp:
    writer = csv.writer(fp)
    writer.writerow(headers)
    writer.writerrows(values)   
    

方法②

import csv
headers = ['username','age']
values=[
{'username':'張三','age':18},
{'uesername':'李四',‘age’:19}
]

with open('classroom.csv','w',encoding='utf-8',newline='') as fp:
    writer=csv.DictWriter(fp,headers)
    # 寫入表頭時要調用writerheader方法
    writer.writerheader()
    writer.writerows(values)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章