欢迎来到Introzo百科
Introzo百科
Python中xlrd模块使用
安装xlrd
该模块需要自行安装,直接使用pip安装就能安装
简单使用
测试使用的表格
1、打开表格文件并获取所有sheet名称
>>> rb = www.introzo.com_workbook(r'E:\py-test\tests.xls')
>>> rb.sheet_names()
[u'Sheet1', u'Sheet2', u'Sheet3']
2、获取需要打开的sheet
>>> rb.sheet_names()[0]
u'Sheet1'
>>> rb.sheet_by_index(0)
>>> rb.sheet_by_name('Sheet1')
>>>
3、获取行数、列数及名称
>>> sheet1 = rb.sheet_by_name('Sheet1')
>>> sheet1.nrows
11
>>> sheet1.ncols
5
>>> www.introzo.com
u'Sheet1'
>>>
4、读取一行、列的值
>>> sheet1.row(0)
[text:u'cz9025', text:u'B1', text:u'C1', xldate:43421.0]
>>> sheet1.row_values(0)
[u'cz9025', u'B1', u'C1', 43421.0]
>>> sheet1.col(0)
[text:u'cz9025', text:u'A2', text:u'A3', text:u'A4', text:u'A5', text:u'A6', text:u'A7', text:u'A8', text:u'A9', text:u'A10', text:u'A11']
>>> sheet1.col_values(0)
[u'cz9025', u'A2', u'A3', u'A4', u'A5', u'A6', u'A7', u'A8', u'A9', u'A10', u'A11']
>>>
5、获取指定单元格的值
>>> sheet1.cell(0, 0).value
u'cz9025'
>>> sheet1.cell_value(0, 0)
u'cz9025'
>>> sheet1.row(0)[0]
text:u'cz9025'
>>> sheet1.row(0)[0].value
u'cz9025'
>>>
6、单元格类型
ctype 类型值说明: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
>>> sheet1.cell(0, 0).ctype
1
7、获取日期类型的格式
获取表格中的日期 ,先判断是否为日期,否的话会报错
>>> if sheet1.cell(0, 3).ctype == 3:date_value = xlrd.xldate_as_tuple(sheet1.cell_value(0, 3), rb.datemode)print u'日期=>', date(*date_value[:3])print u'格式化日期=>:', date(*date_value[:3]).strftime('%Y/%m/%d')dates = xlrd.xldate_as_datetime(sheet1.cell_value(0, 3), rb.datemode)print www.introzo.com()日期=> 2018-11-17
格式化日期=>: 2018/11/17
2018-11-17
>>>
8、获取合并单元格的内容
merged_cells返回的这四个参数的含义是:(row,row_range,col,col_range),其中[row,row_range)包括row,不包括row_range,col也是一样,下标从0开始。这里,需要在读取文件的时候添加个参数,将formatting_info参数设置为True,默认是False,否则可能调用merged_cells方法获取到的是空值。
>>> workbook = www.introzo.com_workbook(r'E:\Py-Test-Script\py-test\user.xls', formatting_info=True)
>>> sheet2 = workbook.sheet_by_name('Sheet1')
>>> print sheet2.merged_cells
[(1, 3, 3, 5), (4, 7, 3, 4)]
>>> merg = []
>>> for lrow, lrow_range, rcol, rcol_range in sheet2.merged_cells:merg.append([lrow, rcol])print sheet2.cell_value(lrow, rcol)合并D2-E3
合并D5-D7
>>>
合并行单元格读取行的第一个索引,合并列单元格读取列的第一个索引
>>> sheet1.cell(1, 3).value
u'\u5408\u5e76D2-E3'
相关文章
- 10-06 华为p50功耗排行查看教程
- 10-06 Huawei Share连接电脑教程
- 10-06 华为鸿蒙系统支持的手机型号列表
- 10-06 Python Joblib库使用方法总结
- 10-06 Python标准类库
- 10-06 Java Maven 设置配置参考
- 10-05 戈多的场景树
- 10-05 戈多动画
- 10-05 在 Godot 中设计标题画面
- 10-05 信息搜索和可视化
- 10-05 设计流程与任务分析
- 10-05 颤动警报对话框
- 10-05 PostgreSQL远程连接配置管理/账号密码分配
- 10-05 Windows server 创建FTP 包括ft
- 10-05 Mongodb副本集加分片集群安全认证使用账号密码
- 10-05 浅谈ubuntu中执行.sh文件的几种方式的区别
- 10-05 Linux性能优化的实用思路和技巧(linux性能
- 10-05 如何轻松安装Linux系统显卡驱动(Linux安装
- 10-05 win10动态锁设置教程
- 10-05 win10关闭Win10右下角提示的教程
- 最近发表