bet3365西甲-365bet上网导航-365bet国际

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

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

🌈所属专栏:【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':'女'},

]

# 将数据写入文件并保存

with open('users_list.txt','w') as f:

f.write(str(users_list)) # 注意使用str函数将列表转换成字符串类型

# 从文件读取数据

with open('users_list.txt','r') as f:

users_list=eval(f.read()) # 使用eval函数将字符串类型数据转换成列表

print(users_list)

print(type(users_list))

打开该文件查看:

查看输出:

二、使用自带模块

1.json

保存

import json

# 这里假设数据集是一个用户字典列表

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':'女'},

]

# 将数据写入文件并保存

with open('users.json','w') as f:

json.dump(users_list,f)

打开该文件查看:

可以发现中文被进行了默认的自动编码,如若不想进行编码转换,可设置 ensure_ascii=False,即修改为:

# 将数据写入文件并保存

with open('users.json','w') as f:

json.dump(users_list,f,ensure_ascii=False)

再次打开该文件查看 :

读取

# 从文件读取数据

with open('users.json','r') as f:

users=json.load(f)

print(users)

print(type(users))

查看输出

读取出来数据已经是列表类型了,可直接进行操作。

2.pickle

保存

import pickle

# 这里假设数据集是一个用户字典列表

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':'女'},

]

# 将数据写入文件并保存

with open('users_list.pkl', 'wb') as f:

pickle.dump(users_list, f)

注意:这里保存的模式是wb,即二进制方式写入,因为pickle是按照二进制的方式进行保存、读取数据的。

打开该文件查看:

读取

# 从文件读取数据

with open('users_list.pkl', 'rb') as f:

users_list = pickle.load(f)

print(users_list)

print(type(users_list))

注意这里使用 rb模式,即二进制方式读取 。

查看输出:

读取出来数据已经是列表类型了,可直接进行操作。

3.csv

保存

import 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':'女'},

]

# 将数据写入文件并保存

# 需指定 newline='' ,不然保存时默认会间隔空行,可自行去除后查看对比

with open('users.csv','w',newline='') as f:

csv_writer=csv.DictWriter(f,fieldnames=users_list[0].keys()) # 创建一个csv写入对象,表头为用户字典的键

csv_writer.writeheader() # 写入表头

csv_writer.writerows(users_list) # 写入数据

打开文件查看(csv格式文件可以用excel打开并进行编辑):

读取

# 从文件读取数据

with open('users.csv','r') as f:

users_list = csv.DictReader(f)

users_list=[i for i in users_list]

print(users_list)

查看输出

读取出来数据是一个 csv.DictReader 对象,遍历转化为列表后进行操作。

总结

感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹

👍🏻也欢迎你,关注我。👍🏻

如有疑问,可在评论区留言哦~