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 ...
随机推荐
- 求解线性递推方程第n项的一般方法
概述 系数为常数,递推项系数均为一次的,形如下面形式的递推式,称为线性递推方程. \[f[n]=\begin{cases} C &n\in Value\\ a_1 f[n-1]+a_2 f[n ...
- 《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelec ...
- day20 系统优化
day20 系统优化 yum源的优化 yum源的优化: 自建yum仓库 使用一个较为稳定的仓库 # 安装华为的Base源 或者使用清华的源也可以 wget -O /etc/yum.repos.d/Ce ...
- vue开发多页面应用 - hash模式和history模式
我们知道vue可以快速开发web单页应用,而且官方为我们提供了自己的应用脚手架vue-cli,我们只需要下载脚手架,安装依赖后就可以启动vue应用雏形. 这得益与webpack的依赖追踪,各种资源后缀 ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(六)-FatFs使用的思路介绍
[STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...
- 节省内存的循环banner(一)
循环banner是指scrollview首尾相连,循环播放的效果,使用非常广泛.例如淘宝的广告栏等. 如果是简单的做法可以把所有要显示的图片全部放进一个数组里,创建相同个数的图片视图来显示图片.这样的 ...
- Java中的Date和时区转换
1.Date中保存的是什么 在java中,只要我们执行 Date date = new Date(); 就可以得到当前时间.如: Date date = new Date(); System.out. ...
- 【编程思想】【设计模式】【结构模式Structural】组合模式composite
Python版 https://github.com/faif/python-patterns/blob/master/structural/composite.py #!/usr/bin/env p ...
- 9.Vue.js 监听属性
本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化. 以下实例通过使用 watch 实现计数器: <div id = "app&q ...
- ssm+ajax实现登陆
ssm的搭建见上一章 1.数据协议层 public User selectByLoginnameAndPassword(@Param("loginname")String logi ...