几行代码搞定数据存储

上一章讲了基础的爬虫,实现了数据的获取
这一章讲介绍如何去存储数据到文本文件中

文本文件

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文件格式**

至此,简单的文本读写操作完成。下一章将讲解基础的数据库存储操作
进阶的高级操作及深入研究将会随着内容一点点加深

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

royallucky(视觉方向)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值