Json文件
JSON支持数据格式:
1 对象(字典),使用{}
2 数组(列表),使用[]
3 整形、浮点型、布尔类型还有null类型
4 字符串类型(字符串必须用双引号(""),不能用单引号(''))
import json
person=[{'user':'zhangsan','id':01},{'user':'lisi','id'=02}]
json_str=json.dumps(person)
with open ('a.json','W') as fp:
fp.write(json_str)
或者
import json
person=[{'user':'zhangsan','id':01},{'user':'lisi','id'=02}]
with open('a.json','w',encoding='utf-8') as fp:
json.dump(person,fp,ensure_ascii=False)
将json类型转化为Python类型:json.loads(json_str)
或者直接读取json类型文件
import json
with open('person.json','r',encoding='utf-8') as fp:
persons=json.load(fp)
for person in persons:
print(person)
读取csv文件的方法
import csv
with open('person.csv','r',encoding='utf-8') as fp:
reader=csv.reader(fp)
next(reader)//跳过标题行数据,直接读取第一行数据
for x in reader:
name=x[3]
vol=name[-1]
pring({'name':name,'vol:'vol}n )
还有一个csv.DictReader(fp)可以直接将csv文件中额数据读取成字典格式。
写入csv文件
import csv
headers=['username','age','height']
values=[('张三',18,180),
('李四',19,190),
('王五',20,188)]
with open('table.csv','w',encoding='utf-8',newline='') as fp:
writer=csv.writer(fp)
writer.writerow(headers)//写入列名
writer.writerows(values)//写入列值
或者当获取的数据是以列表形式里面嵌套的字典类型时:
import csv
headers=['username','age','height']
values=[{''username':张三','age':18,'height':180},
{'username':'李四','age':19,'height':190},
{'username':'王五','age':20,'height':188}]
with open('table.csv','w',encoding='utf-8',newline='') as fp:
writer=csv.DictWriter(fp,headers)
#写入列名时,需要调用writeheader方法
writer.writeheaders//写入列名
writer.writerows(values)//写入列值