您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍
目录
一、原始方式
# 这里假设数据集是一个用户字典列表
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 对象,遍历转化为列表后进行操作。
总结
感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹
👍🏻也欢迎你,关注我。👍🏻
如有疑问,可在评论区留言哦~