Python爬虫第五课:存储数据

一、存储数据的方式

同样是存储数据的文件,“csv”格式文件和Excel文件有什么区别呢?

1. CSV文件
  • 我们知道json是特殊的字符串。其实,csv也是一种字符串文件的格式,它组织数据的语法就是在字符串之间加分隔符——行与行之间是加换行符,同列之间是加逗号分隔。
  • csv格式文件可以用任意的文本编辑器打开(如记事本),也可以用Excel打开,还可以通过Excel把文件另存为csv格式(因为Excel支持csv格式文件)。
  • csv文件里的逗号充当分隔同列字符串的作用。分隔符使得数据的组织方式更有规律,这让更容易让我们提取和查找。
2. EXCEL文件
  • 它有专门的文件格式,即xls和xlsx(Excel2003版本的文件格式是xls,Excel2007及之后的版本的文件格式就是xlsx)。
3. CSV文件与EXCEL文件的比较
  • 用csv格式存储数据,读写比较方便,易于实现,文件也会比Excel文件小。
  • Excel文件本身的功能更为强大,比如能嵌入图像和图表,生成公式等。如何选择就看具体的使用场景了。
    在这里插入图片描述

二、存储数据的基础知识

存储成csv格式文件和存储成Excel文件,这两种不同的存储方式需要引用的模块也是不同的。操作csv文件我们需要借助csv模块;操作Excel文件则需要借助openpyxl模块。

1. CSV文件的读写
import csv

# 需要写入的数据
score1 = ['math', 95]
score2 = ['english', 90]

# 打开文件,追加a, newline="",可以删掉行与行之间的空格
file= open("score.csv", "a", newline="")

# 设定写入模式
csv_write = csv.writer(file)

# 写入具体内容
csv_write.writerow(score1)
csv_write.writerow(score2)
file.close()

  • 代码file= open(“score.csv”, “a”, newline="")事实上就是创建了一个csv文件并打开它,等待写入文件。
  • 代码csv_write = csv.writer(file),创建了一个csvwrite对象。
  • 下面两行代码就用该对象的writerow方法写入列表数据。
import csv

# 打开csv文件
file = open("score.csv")

# 读取文件内容,构造csv.reader对象
reader = csv.reader(file)

# 打印reader中的内容
for item in reader:
    print(item)

第二行的代码就是打开我们已有的csv文件,然后构造一个csv.reader对象,最后把reader中的内容输出,读取csv的工作也就完成了。

2. EXCEL文件的读写

安装openpyxl库

  • Windows系统:pip install openpyxl
    Macx系统:pip3 install openpyxl

EXCEL文件的写入

import openpyxl
# 引用openpyxl
wb = openpyxl.Workbook()
# 利用openpyxl.Workbook()函数创建新的workbook(工作薄)对象,就是创建新的空的Excel文件。
sheet = wb.active
# wb.active就是获取这个工作薄的活动表,通常就是第一个工作簿,也就是我们在上面的图片中看到的sheet1。
sheet.title = 'test'
# 可以用.title给工作表重命名。现在第一个工作表的名称就会由原来默认的“sheet1”改为"kaikeba"。
sheet['A1'] = '天下第一'
# 向单个单元格写入数据
score1 = ['math', 95]
sheet.append(score1)
# 写入整行的数据,变量类型是一个列表
wb.save('score.xlsx')
# 保存修改的Excel
wb.close()
# 关闭Excel

示例代码中我们是用到append方法向Excel写入一行内容,要写入多个内容只需添加一个循环即可。

EXCEL文件的读取

import openpyxl
wb = openpyxl.load_workbook('score.xlsx')
# 打开的指定的工作簿
sheet = wb['天下第一']
# 指定读取的工作表的名称
A1_value = sheet['A1'].value
print(A1_value)
# 获取A1的值

三、爬取并存储周杰伦的歌曲信息

import requests
import openpyxl

# 创建workbook对象,建立工作簿
workbook = openpyxl.Workbook()
# 创建工作表
sheet = workbook.active
# 重命名工作表
sheet.title  = 'Jac_chou_songs'
# 插入表头
sheet.append(['页码','歌名','歌曲ID','专辑名称','播放时长','播放链接','歌词'
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值