python爬虫25 | 爬取下来的数据怎么保存? CSV 了解一下
大家好
我是小帅b
是一个练习时长两年半的练习生
喜欢
唱!
跳!
rap!
篮球!
敲代码!
装逼!
不好意思
我又走错片场了
接下来的几篇文章
小帅b将告诉你
如何将你爬取到的数据保存下来
有文本文件、redis、数据库(MySQL、MangoDB)等的存储方式
今天先说说
CSV
什么是 CSV?
怎么玩?
牛逼么?
那么接下来就是
学习 Python 的正确姿势
CSV 是一个文本文件来的
有点像 excel
也就是它是以一定的表格的格式来展示数据的
我们通常会使用逗号(,)来对每一个单元数据进行分割
分隔符不止是逗号
也可以是制表符(tab)、冒号(:)、分号(;)
比如我们要来表示一个表格中的数据
就可以这样
第1列的名称,第2列的名称,第3列的名称
第1行第1格的数据,第1行第2格的数据,第1行第3格的数据
第2行第1格的数据,第2行第2格的数据,第2行第3格的数据
...
这就是 CSV 的格式
有啥好处呢
说 3 点足以
它支持存储比较大量的数据
我们可以非常方便地利用它进行数据的导入或者导出到电子表格或者数据库
所有支持文本文件的输入输出的编程语言(比如我们的 python),都可以直接操作使用 CSV 文件。
恩
了解什么是 CSV 之后
接下来小帅b会告诉你怎么使用 python 去存储数据到 CSV 文件中
代码走起
我们导入 CSV 这个库
通过 csv.DictWriter 获取 writer 对象
然后就可以写入了
具体看下代码
import csv
with open('xiaoshuaib.csv', mode='w') as csv_file:
fieldnames = ['你是谁', '你几岁', '你多高']
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'你是谁': '小帅b', '你几岁': '18岁', '你多高': '18cm'})
writer.writerow({'你是谁': '小帅c', '你几岁': '19岁', '你多高': '17cm'})
writer.writerow({'你是谁': '小帅d', '你几岁': '20岁', '你多高': '16cm'})
我们这里以字典的方式写入数据到 xiaoshuaib.csv 这个文件中
运行之后
可以看到多了一个文件
打开看看
可以看到
我们的数据就被写进来了
说:是高还是长?
再给大家介绍一个库
pandas
它可以更加方便的操作 CSV 文件
我们先安装一下 pandas
pip install pandas
安装完之后
我们用 pandas 来读取一下我们刚存储的 xiaoshuaib.cvs 文件
import pandas
xiaoshuaib = pandas.read_csv('xiaoshuaib.csv')
print(xiaoshuaib)
打印结果是这样的
是不是又方便又好看呢
用 pandas 来存储 CSV 数据也是很简单的
一个方法就搞定
to_csv
import pandas as pd
b = ['小帅b', '小帅c', '小帅d']
c = ['18岁', '19岁', '20岁']
d = ['18cm', '17cm', '16cm']
df = pd.DataFrame({'你是谁' : b, '你几岁' : c, '你多高' : d})
df.to_csv("xsb.csv", index=False, sep=',')
运行一下
ok
以上就是对 CSV 的主要操作
当你把数据爬取下来的时候
可以使用这招试试把数据存储下来
好了
那么我们下篇再见
peace