ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

xlrd模块

2021-12-06 22:34:28  阅读:192  来源: 互联网

标签:返回 sheet 对象 cell sheet1 模块 xlrd data


导入模块

import xlrd

打开指定的excel文件,返回一个data对象

data = xlrd.open_workbook(file)                     #打开excel表,返回data对象

通过data对象可以得到各个sheet对象(一个excel文件可以有多个sheet,每个sheet就是一张表格)

Sheet1 = data.sheet_by_index(0)                    

#通过索引顺序获取   sheet_by_index(0)为第一个sheet  同理sheet_by_index(1)为第二个sheet 获取的sheet返回的是16进制地址

 # ,如:<xlrd.sheet.Sheet object at 0x000001FC8E966208>

Sheet1 = data.sheet_by_name(''sheet名称'')           

#通过名称获取     同上返回的sheet是一个16进制地址对象

Sheet1 = data.sheets()[0]                           #通过索引顺序获取    同第一个差不多,效果一样

num =data.nsheets                                   #返回sheet的数目

list = data.sheets()                                #返回所有sheet对象的列表

list = data.sheet_names()                           #返回所有sheet对象名字的列表

通过sheet对象可以获取各个单元格,每个单元格是一个cell对象

name = sheet1.name                  #返回sheet1的名称

nrows =sheet1.nrows                 #返回sheet1的行数

ncols = sheet1.ncols                #返回sheet1的列数

sheet1.cell_type(x,y)               #返回cell的对象类型      在python中的坐标都是从0开始的,譬如x=1,y=1 代表的是第2行第2列对应的单元格

sheet1.cell(x,y).ctype              #返回cell的对象类型

#python读取excel中单元格的内容返回的有5种类型。ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error。即date的ctype=3,这时需要使用 xlrd的xldate_as_tuple来处理为date格式,先判断表格的ctype=3时xldate才能开始操作。

sheet1.cell_value(x,y)             

#返回cell的值    需要注意的是如果数据类型是 boolean型的返回的是1或者0  如果是data型的话返回的是一个数值,这就要用到上面的xldate_as_tuple                                                    方法了,cell1=xlrd.xldate_as_tuple(sheet1.cell_value(x,y) ,0) 转换成元组的形式展示 例如:转换后的cell1元组以这种形式展示   (2019, 9, 19, 0, 0, 0)

sheet1.cell(x,y).value          #返回cell的值

sheet1.row(x)                    #获取指定行,返回cell对象的列表   同时展示行中各cell对象的数据类型

sheet1.row_values(x)            #获取指定行,返回列表

sheet1.col(x)                     #获取指定列,返回cell对象的列表   同时展示列中各cell对象的数据类型

sheet1.col_values(x)                #获取指定列,返回列表   列中的内容

 

标签:返回,sheet,对象,cell,sheet1,模块,xlrd,data
来源: https://blog.csdn.net/weixin_51904134/article/details/121757788

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有