找回密码
 会员注册
查看: 34|回复: 0

python将数据保存到文件的多种实现方式

[复制链接]

1

主题

0

回帖

4

积分

新手上路

积分
4
发表于 2024-9-7 16:44:11 | 显示全部楼层 |阅读模式
🌈所属专栏:【python】✨作者主页:  Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询!您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍目录一、原始方式二、使用自带模块1.json保存读取2.pickle保存读取3.csv保存读取总结一、原始方式#这里假设数据集是一个用户字典列表users_list=[{'id':1,'name':'小明','age':14,'sex':'男'},{'id':2,'name':'张三','age':16,'sex':'女'},{'id':3,'name':'李四','age':17,'sex':'男'},{'id':4,'name':'王五','age':12,'sex':'女'},]#将数据写入文件并保存withopen('users_list.txt','w')asf:f.write(str(users_list))#注意使用str函数将列表转换成字符串类型#从文件读取数据withopen('users_list.txt','r')asf:users_list=eval(f.read())#使用eval函数将字符串类型数据转换成列表print(users_list)print(type(users_list))'运行运行打开该文件查看:查看输出: 二、使用自带模块1.json保存importjson#这里假设数据集是一个用户字典列表users_list=[{'id':1,'name':'小明','age':14,'sex':'男'},{'id':2,'name':'张三','age':16,'sex':'女'},{'id':3,'name':'李四','age':17,'sex':'男'},{'id':4,'name':'王五','age':12,'sex':'女'},]#将数据写入文件并保存withopen('users.json','w')asf:json.dump(users_list,f)'运行运行打开该文件查看:可以发现中文被进行了默认的自动编码,如若不想进行编码转换,可设置 ensure_ascii=False,即修改为:#将数据写入文件并保存withopen('users.json','w')asf:json.dump(users_list,f,ensure_ascii=False)再次打开该文件查看 :读取#从文件读取数据withopen('users.json','r')asf:users=json.load(f)print(users)print(type(users))查看输出读取出来数据已经是列表类型了,可直接进行操作。2.pickle保存importpickle#这里假设数据集是一个用户字典列表users_list=[{'id':1,'name':'小明','age':14,'sex':'男'},{'id':2,'name':'张三','age':16,'sex':'女'},{'id':3,'name':'李四','age':17,'sex':'男'},{'id':4,'name':'王五','age':12,'sex':'女'},]#将数据写入文件并保存withopen('users_list.pkl','wb')asf:pickle.dump(users_list,f)'运行运行注意:这里保存的模式是wb,即二进制方式写入,因为pickle是按照二进制的方式进行保存、读取数据的。打开该文件查看:读取#从文件读取数据withopen('users_list.pkl','rb')asf:users_list=pickle.load(f)print(users_list)print(type(users_list))注意这里使用rb模式,即二进制方式读取 。查看输出: 读取出来数据已经是列表类型了,可直接进行操作。 3.csv保存importcsv#这里假设数据集是一个用户字典列表users_list=[{'id':1,'name':'小明','age':14,'sex':'男'},{'id':2,'name':'张三','age':16,'sex':'女'},{'id':3,'name':'李四','age':17,'sex':'男'},{'id':4,'name':'王五','age':12,'sex':'女'},]#将数据写入文件并保存#需指定newline='',不然保存时默认会间隔空行,可自行去除后查看对比withopen('users.csv','w',newline='')asf:csv_writer=csv.DictWriter(f,fieldnames=users_list[0].keys())#创建一个csv写入对象,表头为用户字典的键csv_writer.writeheader()#写入表头csv_writer.writerows(users_list)#写入数据'运行运行打开文件查看(csv格式文件可以用excel打开并进行编辑): 读取#从文件读取数据withopen('users.csv','r')asf:users_list=csv.DictReader(f)users_list=[iforiinusers_list]print(users_list) 查看输出读取出来数据是一个csv.DictReader对象,遍历转化为列表后进行操作。总结感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹👍🏻也欢迎你,关注我。👍🏻如有疑问,可在评论区留言哦~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-11 05:49 , Processed in 0.473998 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表