Python必学模块之xlrd、xlwt模块 (Excel文件处理)

本文介绍了Python中用于Excel文件处理的xlrd和xlwt模块,xlrd用于读取.xls和.xlsx文件,xlwt则用于写入.xls文件。详细讲解了如何获取WorkBook对象、操作Sheet和Cell,以及如何设置Excel样式和修改Excel文件。通过实例代码展示了模块的使用方法。
摘要由CSDN通过智能技术生成


一、介绍

python操作excel主要用到xlrd和xlwt两个库,即xlrd是读excel,xlwt是写excel库

xlrd模块:可读取.xls、.xlsx表格

xlwt模块:可写入.xls表格(不可写入.xlsx文件!!!

二、安装方法

xlrd模块和xlwt模块不是内置模块需要手动安装

pip install xlrd
pip install xlwt

三、 excel表格描述

两个模块对excel表格的结构定义都非常直观,和平时使用excel表格的习惯基本一致。

总体分为三个级别:工作簿——工作表——单元格

  • 一个工作簿就是一个以.xls/.xlsx结尾的文件
  • 一个工作簿有多个工作表(sheet),可以通过索引或者名字访问
  • 一个工作表包含多行、多列,行列交叉位置的基本单元就是单元格(cell),内容都写入在单元格中。单元格可通过行、列索引访问。

在python中将 工作簿——工作表——单元格,视为对象

  • WorkBook:工作簿对象
  • Sheet:表单对象
  • Cell:表格对象

在这里插入图片描述

四、xlrd读取excel文件

4.1 获取WorkBook对象

workbook = xlrd.open_workbook(filename=None)

参数:filename为要打开的电子表格文件的路径。

返回值: 是xlrd.book.Book对象

4.1 xlrd操作sheet对象

一个Excel中可能有多个Sheet,那么可以通过以下方法来获取想要的Sheet信息

方法 功能
workbook.sheet_names() 获取所有的sheet的名字,以列表形式存储
workbook.sheet_by_index(1) 根据索引获取sheet对象
workbook.sheets() 获取所有的sheet对象
sheet.nrows 获取指定sheet的所有行数
sheet.ncols 获取指定sheet的所有列数
workbook.sheet_by_name(‘sheet’) 根据sheet名字获取sheet对象

操作文件(成绩表.xlsx):

在这里插入图片描述

代码实例:

import xlrd

workbook = xlrd.open_workbook("成绩表.xlsx")

# ================= sheet相关操作 =================
print(type(workbook))

# 获取所有的sheet的名字
print(workbook.sheet_names())

# 根据索引获取sheet对象
sheet1 = workbook.sheet_by_index(1)
print(type(sheet1))  # <class 'xlrd.sheet.Sheet'>
print(sheet1.name)  # 可以调用sheet对象的name属性得到sheet名称

# 获取所有的sheet对象
sheet2 = workbook.sheets()
print(type(sheet2))  # <class 'list'>
for i in sheet2:
    print(i.name)

# 获取指定sheet的行数和列数
sheet = workbook.sheet_by_index(0)
print({
   "总行数":sheet.nrows,"总列数":sheet.ncols})

4.2 xlrd操作cell对象

edu.csdn.net获取Cell及其属性:每个Cell代表的是表格中的一格。以下方法可以方便获取想要的cell

方法 功能
sheet.cell(row,col) 获取指定行和列的cell对象
sheet.row_slice(row,start_col,end_col) 获取指定行的某几列的cell对象。
sheet.col_slice(col,start_row,end_row) 获取指定列的某几行的cell对象。
sheet.cell_value(row,col) 获取指定行和列的值。
sheet.row_values(row,start_col,end_col) 获取指定行的某几列的值,是sheet.row_slice的高级用法。
sheet.col_values(col,start_row,end_row) 获取指定列的某几行的值,是sheet.col_slice的高级用法。

代码实例:


# ================= cell相关操作 =================
from xlrd.sheet import Cell

sheet = workbook.sheet_by_index(0)  # 获取sheet

# 获取指定行和列的cell对象
cell = sheet.cell(0,1)
print(type(cell))  # <class 'xlrd.sheet.Cell'>
print(cell)  # text:'语文' 得到的是一个键值对,可以通过value属性获取值


# 获取指定行的某几列的cell对象
cells = sheet.row_slice(1, 1, 4)
for cell in cells:
    print(cell.value)


# 获取指定行的某几列的值
print(sheet.row_values(1, 1, sheet.nrows)
  • 17
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值