json文件 介绍
json是一种轻量级的数据交换格式,本质上就是一个字符串,多个数据用逗号隔开。工具
支持的数据格式:
1.对象(字典),使用 { }。
2.数组(列表),使用 [ ]。
3.整型、浮点型、布尔类型还有null类型
4.字符串类型(字符串必须用双引号)
# 将python对象转化成json字符,dumps转化,dump保存
import json
person = [ {'user':"xingying", 'age':"20"}, {'user':"xingyue",'age':"21"} ]
json_str = json.dumps(person)
with open('person.json','w') as fp:
fp.write(json_str)
#print(json_str)
##运行结果:[{"user": "xingying", "age": "20"}, {"user": "xingyue", "age": "21"}]
# with open('person.json','w',enconding='utf-8') as fp:
# json.dump(person,fp,ensure_ascii=False)
# dict1={'1':'111'}
# json_dic = json.dumps(dict1)
# print(json_dic) #运行结果:{"1": "111"}
# 将json转化成python对象,loads转化,load读入
import json
json_str = '[{"user":"xing","age":"18"},{"user":"ying","age":"19"}]'
persons = json.loads(json_str)
#print(persons)
##[{'user': 'xing', 'age': '18'}, {'user': 'ying', 'age': '19'}]
with open('person.json','r',encoding='utf-8') as fp:
persons = json.load(fp)
print(type(persons)) #<class 'list'>
CSV文件 介绍
1.纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;
2.由记录组成(典型的是每行一条记录);
3.每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);
4.每条记录都有同样的字段序列。
#读取csv文件
import csv
def read_csv_demo():
with open('数据分析.csv','r',encoding='utf-8') as fp:
reader = csv.reader(fp) #reader是一个迭代器
next(reader) #移动光标到下一行
for i in reader:
unit = i[0]
place = i[3]
print({'unit':unit,'place':place})
def read_csv_demo2():
with open('数据分析.csv','r',encoding='utf-8') as fp:
reader = csv.DictReader(fp) #返回来是一个字典
for i in reader:
value = {"name":i['工作地点'],'volumn':i['学历要求']}
print(value)
if __name__ == '__main__':
#read_csv_demo()
#read_csv_demo2() #{'name': '北京 ', 'volumn': '本科及以上 '}...
#写入csv文件
import csv
def write_csv_demo():
headers = ["user","age"]
values = [('xing',18),
('ying',19)]
with open('class.csv','w',encoding='utf-8',newline='') as fp:
writer = csv.writer(fp)
writer.writerow(headers)
writer.writerows(values)
def write_csv_demo2():
headers = ["user","age"]
values = [{'user':'xing','age':'18'},
{'user':'ying','age':'20'}]
with open('class.csv','w',encoding='utf-8',newline='') as fp:
writer = csv.DictWriter(fp,headers)
writer.writeheader() #写入表头数据的时候,调用writeheader方法
writer.writerows(values)
if __name__ == '__main__':
#write_csv_demo()
write_csv_demo2()