python xlrd读Excel表
1 xlrd第三方库
注意:xlrd较新版本不支持读xlsx表,需安装1.2.0版本(pip install xlrd==1.2.0)或使用其他库。
xlrd库官方文档:https://xlrd.readthedocs.io/en/latest/
2 xlrd基础演示

import xlrd
# 获取工作䈬workbook对象
book = xlrd.open_workbook("Excel表.xlsx")
print("Excel文件中sheet数量:{0}".format(book.nsheets))
print("Excel文件中sheet名称列表:{0}".format(book.sheet_names()))
# 获取工作表sheet对象
sh_ = book.sheet_by_name("sheet1") # 通过sheet名称获取
sh = book.sheet_by_index(0) # 通过sheet索引获取
print("sheet名称:{0} 总行数:{1} 总列数:{2}".format(sh.name, sh.nrows, sh.ncols))
print("所有单元格值组成的二维列表:{0}".format(sh._cell_values))
print("------------------------单元格操作-------------------------")
print("B2单元格对象:{0}".format(sh.cell(rowx=1, colx=1)))
print("B2单元格的值:{0}".format(sh.cell_value(rowx=1, colx=1)))
print("B2单元格的值:{0}".format(sh.cell(rowx=1, colx=1).value))
print("B2单元格的格式:{0}".format(sh.cell_type(rowx=1, colx=1)))
print("B2单元格的格式:{0}".format(sh.cell(rowx=1, colx=1).ctype))
print("单元格格式映射:0-empty,1-string,2-number,3-date,4-boolean,5-error")
print("------------------------行操作-------------------------")
print("第一行所有单元格对象组成的列表:{0}".format(sh.row(rowx=0)))
print("第一行所有单元格数据组成的列表:{0}".format(sh.row_values(rowx=0)))
print("第一行中第二列至第三列单元格数据组成的列表:{0}".format(sh.row_values(rowx=0, start_colx=1, end_colx=3)))
print("------------------------列操作-------------------------")
print("第一列所有单元格对象组成的列表:{0}".format(sh.col_slice(colx=0)))
print("第一列所有单元格数据组成的列表:{0}".format(sh.col_values(colx=0)))
print("第一列中第二行至第三行单元格数据组成的列表:{0}".format(sh.col_values(colx=0, start_rowx=1, end_rowx=3)))
返回结果:
Excel文件中sheet数量:2
Excel文件中sheet名称列表:['sheet1', 'Sheet2']
sheet名称:sheet1 总行数:5 总列数:5
所有单元格值组成的二维列表:[['A-1', 'B-1', 'C-1', 'D-1', 'E-1'], ['A-2', 'B-2', 'C-2', 'D-2', 'E-2'], ['A-3', 'B-3', 'C-3', 'D-3', 'E-3'], ['A-4', 'B-4', 'C-4', 'D-4', 'E-4'], ['A-5', 'B-5', 'C-5', 'D-5', 'E-5']]
------------------------单元格操作-------------------------
B2单元格对象:text:'B-2'
B2单元格的值:B-2
B2单元格的值:B-2
B2单元格的格式:1
B2单元格的格式:1
单元格格式映射:0-empty,1-string,2-number,3-date,4-boolean,5-error
------------------------行操作-------------------------
第一行所有单元格对象组成的列表:[text:'A-1', text:'B-1', text:'C-1', text:'D-1', text:'E-1']
第一行所有单元格数据组成的列表:['A-1', 'B-1', 'C-1', 'D-1', 'E-1']
第一行中第二列至第三列单元格数据组成的列表:['B-1', 'C-1']
------------------------列操作-------------------------
第一列所有单元格对象组成的列表:[text:'A-1', text:'A-2', text:'A-3', text:'A-4', text:'A-5']
第一列所有单元格数据组成的列表:['A-1', 'A-2', 'A-3', 'A-4', 'A-5']
第一列中第二行至第三行单元格数据组成的列表:['A-2', 'A-3']
3 单元格数据类型
说明:单元格有以下5种数据类型:empty,string,number,date,,boolean,error
3.1 单元格数据类型读取演示

xlrd读取效果:
['', 'hello', 7.0, 44295.0, 0]
- xlrd将所有数字类型读取为浮点数:7→7.0
- 布尔类型:FALSE→0,TRUE→1
- date时间类型读取为长浮点数:2021年4月9日→44295.0
3.2 date类型处理

import xlrd
book = xlrd.open_workbook("Excel表.xlsx") # 获取工作䈬对象
sh = book.sheet_by_index(1) # 获取第二个工作表对象
date = sh.cell(0, 0).value # 获取单元格A1的值
print("先获取A1单元格的值: {0}".format(date))
print("再通过xldate_as_datetime方法转换: {0}".format(xlrd.xldate_as_datetime(date, 0)))
print("strftime方法截取日期: {0}".format(xlrd.xldate_as_datetime(date, 0).strftime("%Y-%m-%d")))
print("xldate_as_tuple方法获取时间组成的元组: {0}".format(xlrd.xldate_as_tuple(date, 0)))
返回结果:
先获取A1单元格的值: 44295.521099537
再通过xldate_as_datetime方法转换: 2021-04-09 12:30:23
strftime方法截取日期: 2021-04-09
xldate_as_tuple方法获取时间组成的元组: (2021, 4, 9, 12, 30, 23)
python xlrd读Excel表的更多相关文章
- python中使用xlrd读excel使用xlwt写excel
原文地址 :http://www.bugingcode.com/blog/python_xlrd_read_excel_xlwt_write_excel.html 在数据分析和运营的过程中,有非常多的 ...
- python 读excel表操作
import xlrd # 打开文件 data = xlrd.open_workbook('测试表.xlsx') # 查看工作表 data.sheet_names() print("shee ...
- python 之 处理excel表的xlwt模块学习记录
python 操作excel表的常用模块主要有2个: 1:xlrd:读取excel表 2:xlwt:创建并写入excel表 安装方法: 可以直接下载安装:https://pypi.python.org ...
- python实现导出excel表(前端+后端)
之前在做项目管理系统的时候需要实现将数据导出到excel表的功能,搜索之后发现了python的xlwt模块可以很好的实现这项功能. 首先是导入xlwt模块: import xlwtfrom io im ...
- python xlrd读取excel常用方法
最近学习了python操作excel,记录下常用方法. 需要安装xlrd模块, 打开cmd,输入命令:pip install xlrd 进行安装,若已安装显示如下: xlrd读取excel常用方法如 ...
- python xlrd 读取excel.md
文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw 之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel, ...
- python xlrd对excel的读取功能
工作簿 xlrd.open_workbook('test.xls') workbook.dump() workbook.nsheets workbook.sheets() workbook.sheet ...
- python脚本从excel表到处数据,生成指定格式的文件
#coding:gbk #导入处理excel的模块 import xlrd #定义哪些字段须要推断,仅仅支持时间字段 toSureColArray = ['CREATE_TIME','MODIFY_T ...
- [Python]xlrd 读取excel 日期类型2种方式
有个excle表格须要做一些过滤然后写入数据库中,可是日期类型的cell取出来是个数字,于是查询了下解决的办法. 主要的代码结构 data = xlrd.open_workbook(EXCEL_PAT ...
随机推荐
- C#页面缓存设置
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Sessioninfo(); } Session.R ...
- 我可以减肥失败,但我的 Docker 镜像一定要瘦身成功!
作者|徐伟 来源|尔达 Erda 公众号 简介 容器镜像类似于虚拟机镜像,封装了程序的运行环境,保证了运行环境的一致性,使得我们可以一次创建任意场景部署运行.镜像构建的方式有两种,一种是通过 do ...
- tomcat拦截特殊字符报400,如 "|" "{" "}" ","等符号的解决方案
最近在做一个项目,需要对外暴露两个接口接收别人给的参数,但是有一个问题就是对方的项目是一个老项目,在传参数的时候是将多个字符放在一个参数里面用"|"进行分割,然而他们传参数的时候又 ...
- CAS你知道吗
1.比较并交换 CASDemo /** * CAS => compareAndSet * 比较并交换 */ public class CASDemo { public static void m ...
- RecyclerView实现侧滑删除、置顶、滑动
1.首先在build.gradle里添加 compile 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.2.1' 2.设置recyclerView的item布 ...
- android 防止R被混淆,R类反射混淆,找不到资源ID
在Proguard.cfg中添加 -keep class **.R$* { *; }
- OC-私有方法,构造方法,类的本质及启动过程
总结 标号 主题 内容 一 OC的私有方法 私有变量/私有方法 二 @property 概念/基本使用/寻找方法的过程/查找顺序 三 @synthesize @synthesize概念/基本使用/注意 ...
- tomcat 之 session服务器 (memcache)
#: 在tomcat各节点安装memcached [root@node1 ~]# yum install memcached -y #: 下载tomcat所需的jar包(此处在视频中找软件) [roo ...
- Function Overloading in C++
In C++, following function declarations cannot be overloaded. (1)Function declarations that differ o ...
- [OpenGL ES 02]OpenGL ES渲染管线与着色器
[OpenGL ES 02]OpenGL ES渲染管线与着色器 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循"署名-非商业用途-保持一致"创 ...