1. workbookweb
经过open_workbook方法来获取对应的workbook,代码以下数据库
>>> import xlrd
>>> workbook = xlrd.open_workbook('input.xlsx')
从workbook出发,能够经过整数下标索引或者对应的sheet name, 访问具体的sheet对象,代码以下微信
# 返回sheet的个数
>>> workbook.nsheets
4
# 返回sheet构成的list
>>> workbook.sheets()
[<xlrd.sheet.Sheet object at 0x02FFBC70>, <xlrd.sheet.Sheet object at 0x02FFBCB8>, <xlrd.sheet.Sheet object at 0x02FFBD00>, <xlrd.sheet.Sheet object at 0x02FFBD18>]
>>> workbook.sheets()[0]
<xlrd.sheet.Sheet object at 0x02FFBC70>
# 经过索引访问sheet
>>> workbook.sheet_by_index(0)
<xlrd.sheet.Sheet object at 0x02FFBC70>
# 返回sheet names构成的list
>>> workbook.sheet_names()
['all_gene', 'target_gene', 'filter_gene', 'cnv_result']
# 经过name访问sheet
>>> workbook.sheet_by_name('all_gene')
<xlrd.sheet.Sheet object at 0x02FFBC70>
3. cellapp
从sheet对象出发,能够访问对应的行,列以及单元格,代码以下less
>>> ws = workbook.sheet_by_name('all_gene')
>>> ws.name
'all_gene'
# 返回行数
>>> ws.nrows
27280
# 返回列数
>>> ws.ncols
21
# 经过行列索引,返回cell对象
>>> ws.cell(0, 0)
text:'gene'
# 经过行列索引,返回cell对应的值
>>> ws.cell_value(0,0)
'gene'
# 经过如下函数对行或者列进行切片操做
# 第一个参数为列的索引
# 第二个参数为起始行
# 第三个参数为终止行
# 返回值
>>> ws.col_values(0, 0, 2)
['gene', 'LOC102725121']
# 返回cell对象
>>> ws.col_slice(0, 0, 2)
[text:'gene', text:'LOC102725121']
实际操做中,常常须要按照遍历excel文件,对应的代码以下
编辑器
>>> for row in ws.get_rows():
... print(row[0].value)
get_rows方法行的生成器,经过遍历该生成器,访问每一行的元素,而后经过下标来访问对应的列元素,获得cell对象,经过cell对象的value属性获取单元格对应的值。函数
对于xlwt模块而言,其基本用法就简单不少,代码以下学习
>>> import xlwt
>>> wb = xlwt.Workbook()
>>> ws = wb.add_sheet('sheet1')
# 单元格写入的两种方式
# 第一种
>>> ws.write(0,0,'A1')
# 第二种
>>> ws.row(1).write(0,'A2')
>>> wb.save('out.xls')
结合xlrd和xlwt模块,就能够方便灵活的读写excel文件了。flex
原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让咱们一块儿并肩做战!url
扫描下方二维码,关注咱们,解锁更多精彩内容!

一个只分享干货的
生信公众号
本文分享自微信公众号 - 生信修炼手册(shengxinxiulian)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。