25.xlrd、xlwt和openpyxl模块的比较和使用

您所在的位置:网站首页 openpyxl和xlwt 25.xlrd、xlwt和openpyxl模块的比较和使用

25.xlrd、xlwt和openpyxl模块的比较和使用

#25.xlrd、xlwt和openpyxl模块的比较和使用| 来源: 网络整理| 查看: 265

xlrd、xlwt和openpyxl模块的比较:1)xlrd:对xls、xlsx、xlsm文件进行读操作–读操作效率较高,推荐2)xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx文件3)openpyxl:对xlsx、xlsm文件进行读、写操作–xlsx写操作推荐使用

 

一、xlrd:对xls、xlsx文件进行读操作1.获取工作簿对象:xlrd.open_workbook()workBook = xlrd.open_workbook(filemname):打开Excel文件读取数据注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

import xlrd filename=r'D:\360极速浏览器下载\文件阅读记录表.xls' workBook=xlrd.open_workbook(filename)

2.获取工作表(sheet)对象1)workBook.sheet_names():获取所有sheet页的名字,返回一个列表2)sheetName = workBook.sheet_by_name(‘sheet1’):根据sheet页的名字获取指定表名的表,返回的是一个对象3)sheetName = workbook.sheet_by_index(0):根据sheet索引获取对应sheet表(索引是从0开始的),返回的是一个对象

3.获取sheet的名称:name sheetName.name:获取sheet的名称

4.获取行数和列数:nrows、ncols sheetName.nrows:获取表格的总行数 sheetName.ncols:获取表格的总列数

5.获取整行或整列的值(数组):row_values、col_values rows = sheetName.row_values(0)  # 获取第一行内容,返回一个列表 cols = sheetName.col_values(0)  # 获取第一列内容,返回一个列表

6.获取指定单元格的值:cell(a,b).value、row(1)[0].valuesheetName.cell(1,0).value:获取第2行第一列的单元格数据sheetName.row(1)[0].value:获取第2行第一列的单元格数据

7.获取单元格内容的数据类型:ctypesheetName.cell(1,0).ctype注:返回为代表数据类型的值,编码分别代表:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

二、xlwt:对xls文件进行写操作1.新建工作簿:xlwt.Workbook()workBook = xlwt.Workbook() :新建工作簿

2.在工作簿中新建sheet页:add_sheet()table = workBook .add_sheet(‘Over’,cell_overwrite_ok=True) # 如果对同一单元格重复操作会发生overwrite Exception,cell_overwrite_ok为可覆盖sheet = workBook .add_sheet(sheet_name):新增sheet表

import xlwt wb=xlwt.Workbook(encoding='utf-8') # 创建一个工作薄 sheet=wb.add_sheet('文件阅读记录信息表') # 创建一个工作表

3.向表格中写入数据:write(i,j,value)sheet.write(i,j,value) :向单元格(i,j)写入数据value

4.保存工作簿:save()workBook.save(path)

三、openpyxl:对xlsx文件进行写操作1.新建工作簿:openpyxl.Workbook()workBook = openpyxl.Workbook() :新建工作簿

2.在工作簿中新建sheet页:create_sheet()sheet = workBook .create_sheet(sheet_name):新增sheet表:sheet_name

3.向表格中写入数据:cell(i,j,value) --索引从1计数sheet= workBook .active :获得当前活跃的工作页,默认为第一个工作页sheet.cell(i,j,value) :向单元格(i,j)第i行第j列写入数据value注意:行号和列号都从1开始计数,即(1,1)为第一行第一列

4.保存工作簿:save()workBook .save(path)

四、openpyxl:对xlsx文件进行读操作1.获取工作簿对象:openpyxl.load_workbook()workBook = openpyxl.load_workbook(filemname):读取xlsx文件注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

2.获取工作表(sheet)对象1)workBook.get_sheet_names():获取所有sheet页的名字(所有工作表名)2)sheetName = workBook.get_sheet_by_name(‘sheet1’):根据sheet页的名字获取指定表名的表3)sheetName = workBook.worksheets[0]:根据sheet索引获取对应sheet表

3.获取sheet的名称:titlesheetName.title:获取sheet的名称

4.获取行数和列数:max_row、max_columnsheetName.max_row:获取表格的总行数sheetName.max_column:获取表格的总列数

5.获取整行或整列的值(数组):rows[i]、columns[i]rows = sheetName.rows:获取每一行内容,这是一个生成器,里面是每一行数据,每一行数据由一个元组类型包裹cols = sheetName.columns :获取每一列内容,同上sheetName.rows[0]:获取第一行内容–索引从0计数sheetName.columns[0]:获取第一列内容–索引从0计数

6.获取指定单元格的值:cell(a,b).value–索引从1计数sheetName[‘A1’].value:获取第1行第一(A)列的单元格数据sheetName.cell(1,1).value:获取第1行第一列的单元格数据注:此处的行数和列数都是从1开始计数的,而在xlrd中是由0开始计数的

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3