- 🌈所属专栏:【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 对象,遍历转化为列表后进行操作。
总结
感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹

👍🏻也欢迎你,关注我。👍🏻
如有疑问,可在评论区留言哦~


















