python爬虫-20-python如何操作excel,在excel中读取和写入数据

ExcelMicrosoft为使用WindowsApple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。

图片

1、介绍


excel本身是有很多功能的,比如说格式调试,图表展示,公式计算等内容,但是对于我们在python爬虫中,我们关注的仅仅是纯数据,其他的格式内容,咱们暂时不提。

我们使用python操作excel的时候,我们要使用两个模块,分别是xlrdxlwt,下面我们就分别使用python下的pip命令来安装下这两个模块。

2、安装

pip install xlrd=1.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install xlwt -i https://pypi.tuna.tsinghua.edu.cn/simple

3、python读取excel表格

3.1 创建测试文件

首先我们先创建一个名字为ceshi.xlsx的测试文件,以供我们使用,文件如下:

图片

3.2 读取excel中所有sheet的信息

在这里有好几种方式,我们分别来尝试下;

(1)获取所有的sheet

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Names = Workbook.sheet_names()
print(Sheet_Names)

运行结果如下:

['汇总', '姓名', '年龄', '地区', '出生年月', '爱好']

(2)根据索引获取sheet

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Names = Workbook.sheet_by_index(0)
print(Sheet_Names.name)

运行结果如下:

汇总

从上面我们可以看到,我们根据索引为“0”,获取到了第一个sheet,那么同理,要获取第二个sheet的话,我们是不是应该配置索引为“1”即可;

(3)根据名字获取sheet

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Name = Workbook.sheet_by_name('出生年月')
print(Sheet_Name.name)

运行结果如下:

出生年月

(4)获取所有sheet对象

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Names = Workbook.sheets()
print(Sheet_Names)
for i in Sheet_Names:
    print(i.name)

运行结果如下:

[<xlrd.sheet.Sheet object at 0x000001554E142E20>, <xlrd.sheet.Sheet object at 0x000001554E142F10>, <xlrd.sheet.Sheet object at 0x000001554E142F40>, <xlrd.sheet.Sheet object at 0x000001554E142F70>, <xlrd.sheet.Sheet object at 0x000001554E151A60>, <xlrd.sheet.Sheet object at 0x000001554E131DC0>]
汇总
姓名
年龄
地区
出生年月
爱好

3.3 获取该sheet中的行数和列数

import xlrd

WorkBook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Name = WorkBook.sheet_by_name('汇总')
print("名字为{}的sheet中,一共有{}行".format(Sheet_Name.name, Sheet_Name.nrows))
print("名字为{}的sheet中,一共有{}列".format(Sheet_Name.name, Sheet_Name.ncols))

运行结果如下:

名字为汇总的sheet中,一共有9行
名字为汇总的sheet中,一共有5列

4、使用python获取excel中指定单元格的数据

Cell就表示单元格,单元格也就是excel中的最小单位,一个个小格子就是单元格。

且,在python中,每一行和列都是从0开始,从左上角依次类推+1的。

4.1 获取指定行和列的cell对象

方法:

sheet.cell(row,col)

示例代码:

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Name = Workbook.sheet_by_index(0)
print(Sheet_Name.cell(0, 1))  # 获取第0行,第1列的数据,也就是B1单元格的数据

运行结果如下:

text:'年龄'

4.2 获取指定行的某几列的cell对象

方法:

sheet.row_slice(row,start_col,end_col)

示例代码:

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Name = Workbook.sheet_by_index(0)
print(Sheet_Name.row_slice(1, 0, 5))  # 获取第一行的0-5列之间的,不包括第5列

运行结果如下:

[text:'张三', number:18.0, text:'北京', xldate:36526.0, text:'吃饭']

4.3 获取指定列的某几行的cell对象

方法:

sheet.col_slice(col,start_row,end_row)

示例代码如下:

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Name = Workbook.sheet_by_index(0)
print(Sheet_Name.col_slice(0, 0, 5))  # 获取第0列的,0-5行之间的数据,不包括第5行

运行结果如下:

[text:'姓名', text:'张三', text:'李四', text:'王五', text:'赵六']

4.4 获取指定行和列的值

方法:

sheet.cell_value(row,col)

示例代码如下:

import xlrd

Workbook = xlrd.open_workbook('ceshi.xlsx')
Sheet_Name = Workbook.sheet_by_index(0)
print(Sheet_Name.cell_value(1, 2))  # 获取第1行,第二列的单元格的数据,即C2的数据

运行结果如下:

北京

4.5 获取指定行的某几列的值

方法:

sheet.row_values(row,start_col,end_col)

剩余内容请转至VX公众号 “运维家” ,回复 “181” 查看。

------ “运维家” ,回复 “181” ------

------ “运维家” ,回复 “181” ------

------ “运维家” ,回复 “181” ------

linux系统下,mknodlinux,linux目录写权限,大白菜能安装linux吗,linux系统创建文件的方法,领克linux系统怎么装软件,linux文本定位;
ocr识别linux,linux锚定词尾,linux系统使用记录,u盘有linux镜像文件,应届生不会Linux,linux内核64位,linux自启动管理服务;
linux计算文件夹大小,linux设备名称有哪些,linux能用的虚拟机吗,linux系统进入不了命令行,如何创建kalilinux,linux跟so文件一样吗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

运维家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值