上一章讲了基础的爬虫,实现了数据的获取
这一章讲介绍如何去存储数据到文本文件中
文本文件
1、text文本存储
text文本兼容性比较好,但缺点就是可视性差
实例:
a = "你好 读者"
with open("./test.text",'w',encoding='utf-8')as p:
p.write(a)
这里用变量a保存待存储的数据
然后使用 with open 语句打开目标文件(当目标文件不存在时程序会自动创建一个对应的文件并打开,当文件已存在时,直接打开文件),使用as将打开的文件对象命名为p。
其中第二个实参(“w”)指定打开文件的模式:
w:写入模式,每次操作都会对以前的内容进行清空再写
r:读取模式
a:附加模式 ,每次进行写入操作时不会对以前的内容进行操作,写入的内容会自动加入到旧内容后面
rw:读写模式
调用函数write()将数据写入文件中去
2、CSV文件存储
a、导入需要的库
import csv
CSV文件是类似于Excel表格的文件,可以都表头、数据
b、自定义一个待存储的数据、
# 表头
headers = ['username','age','height']
# 数据
values = [
('张三',18,180),
('张三', 19, 180),
('王五', 20, 185)
]
打开文件并写入数据(模式与上面的text文件读写类似)
with open('./classroom.csv','w',encoding='utf-8',newline='') as fp:
# 得到csv写入对象
writer = csv.writer(fp)
# 写入行
writer.writerow(headers) # 单行
writer.writerows(values) # 多行
最后的文件为
将该文件用Excel打开就是表格样式
还可以将待存储的数据转换成字典进行写入
字典写入的方式为:
headers = ['username', 'age', 'height']
values = [
{'username':'张三', 'age':18, 'height':180},
{'username':'张三', 'age':19, 'height':180},
{'username':'王五', 'age':20, 'height':185}
]
with open('./classroom1.csv', 'w', encoding='utf-8', newline='') as fp:
writer = csv.DictWriter(fp,headers)
# 写入表头数据时,需要调writeheader方法
writer.writeheader()
writer.writerows(values)
3、json文件
json文件是比较纯粹的数据文件,操作很简单方便
a、导入库文件
import json
b、定义待存储的字符
# 定义数据
dict_data = '{"name":"张三","sex":"男","age":"16"}'
# 转换成json字符串
json_data = json.dumps(dict_data, ensure_ascii=False)
c、将数据转换成字典
# 转换成字典
dict_data_str = json.loads(dict_data)
e、写入文件:
# 把字典转成json文件写入
p = open("data.json", 'w' ,encoding='utf-8')
json.dump(dict_data_str, p, ensure_ascii=False)
p.close()
在实战中,对数据处理时,如果采用保存至文本文件的方法,一般多采用CSV文件格式**
至此,简单的文本读写操作完成。下一章将讲解基础的数据库存储操作
进阶的高级操作及深入研究将会随着内容一点点加深