雪花飘落

python使用xlrd+xlwt实现简单的xls读写操作

前言

本文主要使用两个模块来实现对excel表格的操作,负责读取的xlrd(xls read)和负责写入的xlwt(xls write)。先安装模块:

pip install xlrd
pip install xlwt

首先,需要声明的是,这两个模块仅对xls格式的表格生效,若是xlsx格式的表格则会报错。

读取

读取需要用到xlrd模块,首先导入:

import xlrd

打开文件

# 打开文件
  workbook = xlrd.open_workbook(r'F:\demo.xls')

载入工作表

使用workbook.sheet_names()可以查看该文件下的所有工作表名称列表。载入工作表时有两种方式,一种是通过名称载入,一种是通过索引序号载入。值得注意的是,序号依然是从0开始计数的,包括后面会提到的行数、列数都是从0开始计数的,后文不再赘述。

#通过序号载入
sheet = workbook.sheet_by_index(0)
#通过名称载入
sheet = workbook.sheet_by_name("sheet1")

获取数据

1.获取行数和列数

#行数
nrows = sheet.nrows
#列数
ncols = sheet.ncols

 

2.获取整行和整列的值(返回一个列表)
#获取第i行的数据
sheet.row_values(i)
#获取第i列的数据
sheet.col_values(i)

3.获取某一单元格的数据

单元格用cell表示,获取某一单元格的数据,可以先获取所在行或者列的数据列表,再从列表中取,也可以直接通过cell来定位。

#获取第i行第j列的单元格数据,并采用utf-8编码,一般来说编码可不写
sheet.cell(i,j).value.encode('utf-8')

写入

写入需要用到xlwt模块,先导入:

import xlwt

写入部分相对来说简单一些,直接上代码:

#初始化并创建一个工作簿对象
book = xlwt.Workbook()
#创建一个名为sheetname的表单
sheet = book.add_sheet('sheetname')
#在第i行,第j列,写入数据data
sheet.write(i,j,data)
#将工作簿以bookname命名并保存
book.save('bookname.xls')

这里需要注意一点,执行写入操作后,必须要用save方法保存,否则写入的数据将无法反映到文件上。

写入到合并单元格

#合并单元格:将由row_start,row_finish行,col_start,col_finish列构成的区域单元格合并并写入value值
sheet.write_merge(row_start,row_finish,col_start,col_finish,value)

 

posted @ 2022-02-07 17:48  haruyuki  阅读(360)  评论(0编辑  收藏  举报