xlrd模块学习
- )# 打开Excel文件读取数据
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- print(workbook)
- ----------------结果:
- <xlrd.book.Book object at 0x02320410>
- ) 打印所有的sheet列出所有的sheet名字
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- print(workbook.sheet_names())
- -----------------结果:
- ['魔降风云变人名单', 'Sheet2', 'Sheet3']
- )根据sheet索引或者名称获取sheet内容
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheets()[]
- print(Data_sheet)
- -----------------结果:
- <xlrd.sheet.Sheet object at 0x02947730>
- )根据sheet索引或者名称获取sheet内容
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheet_by_name(u'魔降风云变人名单')
- print(Data_sheet)
- ----------------结果:
- <xlrd.sheet.Sheet object at 0x02947730>
- )获取sheet名称、行数和列数
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheet_by_name(u'魔降风云变人名单')
- rows = Data_sheet.row_values(0) #获取第一行内容
- cols = Data_sheet.col_values(1) #获取第二列内容
- print(rows)
- print(cols)
- ------------------------结果:
- ['姓名', '性别', '爱好', '毕业时间']
- ['性别', '男', '男', '女']
- )
- # 获取单元格内容的数据类型
- # 相当于在一个二维矩阵中取值
- # (row,col)-->(行,列)
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheet_by_name(u'魔降风云变人名单')
- cell_A1 = Data_sheet.cell(0,0).value # 第一行第一列坐标A1的单元格数据
- print(cell_A1)
- ---------------结果:
- 姓名
- )
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheet_by_name(u'魔降风云变人名单')
- cell_C1 = Data_sheet.cell(0,2).value # 第一行第三列坐标C1的单元格数据
- print(cell_C1)
- --------------------结果:
- 爱好
- )
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheet_by_name(u'魔降风云变人名单')
- rows = Data_sheet.row_values(0) #获取第一行内容
- cols = Data_sheet.col_values(1) #获取第二列内容
- cell_B1 = Data_sheet.row(0)[1].value # 第1行第2列
- cell_D2 = Data_sheet.col(3)[1].value # 第4列第2行
- print(cell_B1)
- print(cell_D2)
- -----------------结果:
- 性别
- 2017.07.
- )
- # 检查单元格的数据类型
- # ctype的取值含义
- # ctype : empty, string, number, date, boolean, error
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheet_by_name(u'魔降风云变人名单')
- print(Data_sheet.cell(3,0).ctype)
- print(Data_sheet.cell(1,3).ctype)
- --------------结果:
- )
- # 读取excel中单元格内容为日期的方式
- date_value = xlrd.xldate_as_tuple(Data_sheet.cell_value(4,0),workbook.datemode)
- print(date_value) # -->(2017, 9, 6, 0, 0, 0)
- print('%d:%d:%d' %(date_value[3:])) # 打印时间
- print('%d/%02d/%02d' %(date_value[0:3])) # 打印日期
第一个工作表的名字,总行数nrows,总列数
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheets()[] #索引为0的工作表sheet,即第一个工作表
- print(Data_sheet.name,Data_sheet.nrows,Data_sheet.ncols) #第一个工作表的名字,总行数nrows,总列数
--------------结果;
魔降风云变人名单 4 4
如下表,循环获取表格所有行:
(#rows获取到表格行数,从0到表格行数做循环。利用索引取指定索引的行的值)
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheets()[] #索引为0的工作表sheet,即第一个工作表
- rows=Data_sheet.nrows
- for i in range(,rows):
- print(Data_sheet.row_values(i),type(Data_sheet.row_values(i)))
- ------------------结果:
- ['id', '姓名', '性别', '爱好', '毕业时间'] <class 'list'>
- [2.0, '小马过河', '男', '跑步', '2017.07.01'] <class 'list'>
- [5.0, '小郭吹雪', '男', '睡觉', '2016.07.01'] <class 'list'>
- [1.0, '樱花小月', '女', '吃饭', '2018.07.01'] <class 'list'>
- #rows获取到表格行数,从0到表格行数做循环。利用索引取指定索引的行的值
获取表格所有列内容:
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheets()[] #索引为0的工作表sheet,即第一个工作表
- cols=Data_sheet.ncols #第一个工作表的名字,总行数nrows,总列数
- for j in range(,cols):
- print(Data_sheet.col_values(j))
- ---------------结果:
- ['id', 2.0, 5.0, 1.0]
- ['姓名', '小马过河', '小郭吹雪', '樱花小月']
- ['性别', '男', '男', '女']
- ['爱好', '跑步', '睡觉', '吃饭']
- ['毕业时间', '2017.07.01', '2016.07.01', '2018.07.01']
#获取小郭吹雪(未知行)的所有信息(一个人一行信息),以及单独拿出毕业时间(可以查看出已知列)
- import xlrd
- workbook = xlrd.open_workbook('mcw_test.xlsx')
- Data_sheet = workbook.sheets()[] #索引为0的工作表sheet,即第一个工作表“魔降风云变人名单”
- name=Data_sheet.col_values() # 工作表.col_values()是取表格第二列“姓名”列。name单元格为元素形成的列表,第一个值为“姓名”,索引行为0
- for i in range(,Data_sheet.nrows): # Data_sheet.nrows是工作表.nrows,即这张工作表的总行数。
- if name[i]=="小郭吹雪": #name为第二列的列表,在列表中找到索引行为i且列表元素为"小郭吹雪"的值,如果找到,就有了行数
- print("%s的索引行号是:%s,也是表格第(%s)行内容"%(name[i],i,i+)) #循环后得到"小郭吹雪"的索引行,打印出“姓名”列的元素即“小郭吹雪”
- print("小郭吹雪的毕业时间是:%s"%Data_sheet.row(i)[].value) #工作表.行(行索引)[列索引].value获得“小郭吹雪”的毕业时间。毕业时间索引是看表结构已知的
- break #找到“小郭吹雪”后,就停止循环。节省计算资源
- ----------------------------结果:
- 小郭吹雪的索引行号是:,也是表格第()行内容
- 小郭吹雪的毕业时间是:2016.07.
- #综上:想要找到表格某列的一个元素,求这个元素的本行其它内容:找到表格总行数,对本列的元素循环,可以找到这个元素所在的行数。这样就可以用代码求得本行其它列的内容了。
- import xlrd
workbook = xlrd.open_workbook('mcw_test.xlsx')
Data_sheet = workbook.sheets()[0]
name=Data_sheet.col_values(1)
for i in range(0,Data_sheet.nrows):
if name[i]=="小郭吹雪":
print("%s的索引行号是:%s,也是表格第(%s)行内容"%(name[i],i,i+1))
print("小郭吹雪的毕业时间是:%s"%Data_sheet.row(i)[4].value)
break
参考链接:
1)https://blog.csdn.net/qq_41185868/article/details/80469355
xlrd模块学习的更多相关文章
- python中的xlrd模块学习
1.xlrd模块主要用于excel表格的读取,支持xlsx和xls:xlwt主要用于excel的写,库的读取 2.常用单元格中的数据类型 0.empty(空的):1.string(text):2.nu ...
- python里面的xlrd模块详解(一)
那我就一下面积个问题对xlrd模块进行学习一下: 1.什么是xlrd模块? 2.为什么使用xlrd模块? 3.怎样使用xlrd模块? 1.什么是xlrd模块? python操作excel主要用到xlr ...
- python里面的xlrd模块详解
那我就一下面积个问题对xlrd模块进行学习一下: 1.什么是xlrd模块? 2.为什么使用xlrd模块? 3.怎样使用xlrd模块? 1.什么是xlrd模块? ♦python操作excel主要用到xl ...
- xlrd模块-读取Execl表格
#xlrd模块 读取execl表格 import xlrd Execl = xlrd.open_workbook(r'Z:\Python学习\python26期视频\day76(allure参数.读e ...
- Xlrd模块读取Excel文件数据
Xlrd模块使用 excel文件样例:
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- Day5 - Python基础5 常用模块学习
Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...
- ubuntu下安装xlrd模块,Mysqldb模块
Python中安装xlrd模块 1.从 https://pypi.python.org/pypi/xlrd 下载压缩包 2.解压所下载的压缩包 3.CD到解压文件夹,运行 sudo python s ...
- # nodejs模块学习: express 解析
# nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...
随机推荐
- Python自动化之跨域访问jsonp
这里提到了JSONP,那有人就问了,它同JSON有什么区别不同和区别呢,接下我们就来看看,百度百科有以下说明: ''' 1. JSON(JavaScript Object Notation) 是一种轻 ...
- salt常用命令(一)
查看模块包含哪些函数 salt 'node' sys.list_functions test 查看函数的用法 salt 'node' sys.doc test.echo 使用模块中的函数 salt ' ...
- 集合之asList的缺陷
在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存 ...
- 【转】numpy中 meshgrid 和 mgrid 的区别和使用
转自:https://www.cnblogs.com/shenxiaolin/p/8854197.html 一.meshgrid函数 meshgrid函数通常使用在数据的矢量化上. 它适用于生成网格型 ...
- python logging模块按天滚动简单程序
简单日志按天滚动,加入apsheduler,用crontab模式按小时运行测试: import logging from logging.handlers import TimedRotatingFi ...
- P1353 [USACO08JAN]跑步Running
题目描述 The cows are trying to become better athletes, so Bessie is running on a track for exactly N (1 ...
- 使用Android的OpenGL编写视频播放器
Android自身有MediaPlayer播放器,为什么还要使用OpenGL?因为使用OpenGL可以实现更多的效果,比如对视频翻转一定角度,加任意特效,多视频合并播放等,类似“激萌”的APP应该就是 ...
- 在ubuntu中添加widows启动项的简单方法
打开终端执行: sudo vim /boot/grub/grub.cfg 或者 sudo gedit /boot/grub/grub.cfg 打开文件grub.cfg. 在文件中添加:添加的时候注意和 ...
- 关于CodePlex
CodePlex是微软的开源工程网站,涉及诸多微软最新技术的开源工程. 网址:http://www.codeplex.com/ 应常去看看.
- 一些适合初学者的C/C++语言开发环境(IDE)
对于很多初学C语言的人来说,第一个开发环境应该都是VC6.0(没办法的事,很多高校都用VC6),在以前VC6确实是比较适合用来进行C/C++的学习. 但现在VC6已经不适合当前的环境了,更不适合新手. ...