25.xlrd、xlwt和openpyxl模块的比较和使用
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].value
sheetName.cell(1,0).value:获取第2行第一列的单元格数据
sheetName.row(1)[0].value:获取第2行第一列的单元格数据
7.获取单元格内容的数据类型:ctype
sheetName.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的名称:title
sheetName.title:获取sheet的名称
4.获取行数和列数:max_row、max_column
sheetName.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开始计数的
25.xlrd、xlwt和openpyxl模块的比较和使用的更多相关文章
- Python常用的数据文件存储的4种格式(txt/json/csv/excel)及操作Excel相关的第三方库(xlrd/xlwt/pandas/openpyxl)(2021最新版)
序言:保存数据的方式各种各样,最简单的方式是直接保存为文本文件,如TXT.JSON.CSV等,除此之外Excel也是现在比较流行的存储格式,通过这篇文章你也将掌握通过一些第三方库(xlrd/xlwt/ ...
- configparser模块,subprocess 模块,xlrd,xlwt ,xml 模块,面向对象
1. configparser模块 2.subprocess 模块 3.xlrd,xlwt 4.xml 模块 5.面向对象 面向对象是什么? 是一种编程思想,指导你如何更好的编写代码 关注点在对象 具 ...
- 利用Python读取和修改Excel文件(包括xls文件和xlsx文件)——基于xlrd、xlwt和openpyxl模块
https://blog.csdn.net/sinat_28576553/article/details/81275650#4.4%C2%A0%E4%BF%9D%E5%AD%98%E5%B7%A5%E ...
- Python如何读写Excel文件-使用xlrd/xlwt模块
时间: 2020-08-18 整理: qiyuan 安装和导入 1.模块介绍 在 python 中使用 xlrd/xlwt 和 openpyxl 模块可以对Excel电子表格(xls.xlsx文件)进 ...
- 利用openpyxl模块来操作Excel
python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt.openpyxl. 之所以推荐两个库是因为这两个库分别操作的 ...
- openpyxl模块简单入门
一.openpyxl简介和安装 python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt.openpyxl. 之所以推 ...
- Python操作excel的几种方式--xlrd、xlwt、openpyxl
openpyxl xlrd xlwt 在处理excel数据时发现了xlwt的局限性–不能写入超过65535行.256列的数据(因为它只支持Excel 2003及之前的版本,在这些版本的Excel中 ...
- Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合
今天,接到一个任务,要生成大约两百个excel文件,从2006年到2013年,每个月两个文件,这些文件中除了几个关于日期的单元格不同外,其他数据都相同,所以就想到可以用python写一个小脚本,自动生 ...
- Python_对excel表格读写-openpyxl、xlrd&xlwt
openpyxl 和 xlrd&xlwt 都能对excel进行读写,但是它们读写的格式不同,openpyxl 只能读写 xlsx格式的excel,xlrd&xlwt 只能读写 xls格 ...
随机推荐
- 一文告诉你Adam、AdamW、Amsgrad区别和联系 重点
**序言:**Adam自2014年出现之后,一直是受人追捧的参数训练神器,但最近越来越多的文章指出:Adam存在很多问题,效果甚至没有简单的SGD + Momentum好.因此,出现了很多改进的版本, ...
- poj 1039 Pipe (Geometry)
1039 -- Pipe 理解错题意一个晚上._(:з」∠)_ 题意很容易看懂,就是要求你求出从外面射进一根管子的射线,最远可以射到哪里. 正解的做法是,选择上点和下点各一个,然后对于每个折点位置竖直 ...
- Pytest - 使用介绍
1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...
- 你以为SSL是安全的吗?
在现代的IT安全领域,很大程度上依赖SSL来保障通讯安全.但SSL是安全的吗? 在2005年,王小云证明SHA-1能在较短的时间内找到碰撞.王小云发现SHA-1的安全弱点是偶然还是必然? 就我所知,各 ...
- python基础十二之生成器进阶
生成器表达式 (满足条件的元素或其相关的操作 for 元素 in 可迭代对象 if 条件) g = (i for i in range(10)) for i in g: print(i) egg_li ...
- v-for(:key)绑定index、id、key的区别
Vue 2.0 v-for 响应式key, index及item.id参数对v-bind:key值造成差异研究 在github上阅览README.md以获得最佳阅读体验,点这里 v-for响应式key ...
- java IO的概述和File方法
IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 File类在整个IO包中与文件本身有关的操作类,所有的与文件本身 ...
- 洛谷4139 bzoj 3884 上帝与集合的正确用法
传送门 •题意 求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (无穷个2) 对p取模的值 •思路 设答案为f(p) $2^{2^{2^{2^{2^{2^{...^{2}}}}} ...
- 类(class)和继承
.继承之前的写法 ↓ ----------------------------------------------------------------------------------------- ...
- 牛客小白月赛15A 斑羚飞渡
链接:https://ac.nowcoder.com/acm/contest/917/A 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64b ...