经过xlrd和xlwt模块读写excel文件

欢迎关注”生信修炼手册”!
xlrd模块用于读取excel文件,xlwt模块用于写入excel文件,两者搭配,能够灵活的操做excel文件。相比openpyxl模块,xlrd和xlwt能够操做不只能够操做后缀为xlsx的文件,也能够操做后缀为xls的文件。
首先来看下xlrd模块,按照workbook, sheet,cell的3个层级,用法以下

1. workbookweb

经过open_workbook方法来获取对应的workbook,代码以下数据库

>>> import xlrd
>>> workbook = xlrd.open_workbook('input.xlsx')
2. sheet

从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

·end·
—若是喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让咱们一块儿并肩做战!url

本公众号深耕耘生信领域多年,具备丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有须要的老师和同窗前来咨询。
  更多精彩
  写在最后
转发本文至朋友圈,后台私信截图便可加入生信交流群,和小伙伴一块儿学习交流。

扫描下方二维码,关注咱们,解锁更多精彩内容!

一个只分享干货的

生信公众号




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

相关文章
相关标签/搜索