Excel读写之xlrd模块
1.1、xlrd模块介绍
xlrd:用于读取Excle数据文件将返回的数据对象放到内存中,然后查询数据文件对象的相关信息。
xlwt:用于在内存中生成新的数据文件对象,处理完成后写入到Excel数据文件中。
xlutils:主要的作用就是copy新的文件对象,在新的数据对象中完成数据处理操作。
注意:在使用 xlrd 读取 .xlsx 文件时,由于 xlrd 从版本 2.0.0 开始停止支持 .xlsx 格式,可能会遇到 xlrd.biffh.XLRDError: Excel xlsx file; not supported 的错误。
如果需要读取.xlsx文件,你可能需要安装1.2.0版本的xlrd。
1.2、xlrd操作方法汇总
1.2.1、Excel操作
1.2.1.1、打开文件
import xlrd
workbook = xlrd.open_workbook('test.xls')
print(workbook) # <xlrd.book.Book object at 0x7f592100ff50>
1.2.1.2、获取所有的表名
import xlrd
workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
# 获取所有的工作表名
sheet_names = workbook.sheet_names()
print(sheet_names) # ['sdxl', 'hzgg', 'sdyxz', 'TB2018']
# 获取所有的sheet对象
Sheets = workbook.sheets()
print(Sheets) # [Sheet 0:<sdxl>, Sheet 1:<hzgg>, Sheet 2:<sdyxz>, Sheet 3:<TB2018>]
1.2.1.3、获取指定的Sheet
import xlrd
workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
# 方式一:通过索引选取
sheet1 = workbook.sheets()[0]
print(sheet1 ) # Sheet 0:<sdxl>
# 方式二:通过索引选取
sheet2 = workbook.sheet_by_index(2)
print(sheet2) # Sheet 2:<sdyxz>
# 方式三:通过表名选取,返回一个<class 'xlrd.sheet.Sheet'>对象
sheet = workbook.sheet_by_name("hzgg")
print(sheet) # Sheet 1:<hzgg>
1.2.1.4、某个sheet是否导入完毕
# 通过索引,检查某个sheet是否导入完毕
print(workbook.sheet_loaded(0)) # True
# 通过文件名,检查某个sheet是否导入完毕
print(workbook.sheet_loaded("hzgg")) # True
1.2.2、sheet对象的基本操作
1.2.2.1、sheet表行操作
1.2.2.1.1、获取表中所有的行数
import xlrd
workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
sheet2 = workbook.sheet_by_name("hzgg")
# 特别注意,这是属性而不是方法,不加括号
print(sheet2.nrows) # 17
1.2.2.1.2、返回指定行的所有单元格数值组成的列表

1.2.2.1.3、获取某行的类型及数据

1.2.2.1.4、获取某行的类型的列表
单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值)

1.2.2.1.5、以切片形式获取某行的类型及数据
1.2.2.1.6、获取某行的长度
1.2.2.1.7、获取sheet的所有行生成器

1.2.2.2、sheet表列操作
1.2.2.2.1、获取有效列数
import xlrd
workbook = xlrd.open_workbook(r'./code/excelRead/test.xls')
sheet2 = workbook.sheet_by_name("hzgg")
# 获取有效列数
print(sheet2.ncols) # 9
1.2.2.2.2、获取某列数据
1.2.2.2.3、获取某列类型
1.2.2.2.4、以切片方式获取某列类型及数据
1.2.2.3、单元格操作

1.2.2.4、单元格中的日期/时间操作
在使用xlrd读取excel时,我们常常会遇到日期格式的数据,如果我们不经过任何处理,那么我们得到会是如 45089.0、45171.0 这样的excel时间戳。那么我们该如何读取呢?这里介绍俩方法。
1.2.2.4.1、xlrd.xldate_as_tuple(xldate, datemode)
xlrd.xldate_as_tuple(xldate,datemode)
:param xldate: 要处理的单元格值,自然是excel中的日期数据
:param datemode: 使用哪条基准的时间戳(0代表1900-01-01为基准,1代表1904-01-01为基准);常使用1900为基准
返回值:返回一个元组,类似于(year,month,day,hour,minute,nearest_second)
但是,仅适用于date类型的excel单元格,不适用于time类型的单元格,对于time类型的单元格值,报错:XLDateAmbiguous

1.2.2.4.2、xlrd.xldate.xldate_as_datetime(xldate, datemode)
xlrd.xldate.xldate_as_datetime(xldate,datemode)
:param xldate: 要处理的单元格值,自然是excel中的日期数据
:param datemode: 使用哪条基准的时间戳(0代表1900-01-01为基准,1代表1904-01-01为基准);常使用1900为基准
返回值:datetime对象,格式 year-month-day hour:minute:second
但是,对于time类型的单元格值,转化后自动以基准补充;如基准选择1900时,时间 13:09:30 转化后为:1900-01-01 23:08:00

Excel读写之xlrd模块的更多相关文章
- python读写Excel文件--使用xlrd模块读取,xlwt模块写入
一.安装xlrd模块和xlwt模块 1. 下载xlrd模块和xlwt模块 到python官网http://pypi.python.org/pypi/xlrd下载模块.下载的文件例如:xlrd-0.9. ...
- python操作Excel读写--使用xlrd和xlwt
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 进入到解压文件路径,输入 setup.py ...
- python操作Excel读写--使用xlrd
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...
- 【Python】excel读写操作 xlrd & xlwt
xlrd ■ xlrd xlrd模块用于读取excel文件内容 基本用法: workbook = xlrd.open_workbook('文件路径') workbook.sheet_names() # ...
- python操作Excel读写--使用xlrd (转)
(转自:http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html) 一.安装xlrd模块 到python官网下载http://pypi ...
- python学习,excel操作之xlrd模块常用操作
import xlrd ##工作表## #打开excel f = xlrd.open_workbook("test.xlsx") file = f.sheet_by_name(&q ...
- python操作Excel读写(使用xlrd和xlrt)
包下载地址:https://pypi.python.org/pypi/xlrd 导入 import xlrd 打开excel data = xlrd.open_workbook('demo.xls ...
- python excel 读写
python操作Excel读写--使用xlrd xlwt python中使用xlrd.xlwt操作excel表格详解
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- Python如何读写Excel文件-使用xlrd/xlwt模块
时间: 2020-08-18 整理: qiyuan 安装和导入 1.模块介绍 在 python 中使用 xlrd/xlwt 和 openpyxl 模块可以对Excel电子表格(xls.xlsx文件)进 ...
随机推荐
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...
- 【Spring Data JPA】02 快速上手
完成一个CRUD - 创建工程导入依赖坐标 - 配置Spring的配置文件 - 配置ORM的实体类,绑定映射关系 - 编写一个符合SpringDataJpa的dao接口 Maven依赖坐标 <p ...
- jdk命令行工具系列——检视阅读
jdk命令行工具系列--检视阅读 参考 java虚拟机系列 RednaxelaFX知乎问答 RednaxelaFX博客 jps--虚拟机进程状态工具 jps :(JVM Process Status ...
- git clone 如何通过proxy进行远程代码仓库拷贝下载
git使用proxy的方式和ssh的情况是差不多的,给出借鉴: SSH如何通过proxy进行服务器连接 ------------------------------------------------ ...
- SeaTunnel JDBC DB2 Sink Connector支持的工作原理,快来学习吧!
DB2是IBM的一款关系型数据库管理系统,JDBC DB2 Source Connector是一个用于通过JDBC读取外部数据源数据的连接器.Apache SeaTunnel如何支持JDBC DB2 ...
- 二分答案&前缀和&差分&离散化(简记)
二分答案 基本code int Find(int l,int r) { int ans,mid; while(l<=r) { int mid=l+r>>1; if(Check(mid ...
- AC自动机 提高篇
文本生成器 首先考虑一个容斥,算出不包含任何一个单词的文章的数量. 我们设 \(dp_{i,j}\) 表示当前文章长度为 \(i\),最后一个字符在 \(AC\) 自动机上的 \(j\) 号点的方案数 ...
- 控制台报IPV6问题的解决
IPv6问题调试 Burp Suite是不支持IPv6地址进行数据通信的,这时在cmd控制台里就会抛出如下异常 java.net.SocketException: Permission denied ...
- 使用Django-Channels实现websocket通信+大模型对话
前言 最近一直在做这个大模型项目,我选了 Django 作为框架(现在很多大模型应用都用的 FastAPI,不过我已经用习惯 Django 了) 之前使用 AspNetCore 作为后端的时候,我先后 ...
- vba for excel 随笔
q1: excel 没有vba入口 1. 快捷键:Alt + F11 2.调出开发工具 1. 打开文件后,依次点击菜单项[文件]-[选项]: 2.在"Excel"选项界面中点击左侧 ...




