准备工作:
- 准备工作和所用材料和《Python读execl之xlrd库函数详解一:工作簿相关》一致。
## 库函数:
行、列相关
- row_len(self, rowx) #返回该列的有效单元格长度
#-*- encoding:utf-8 -*-
import xlrd,json
def openexec():
book1 = xlrd.open_workbook('datalist.xlsx') # 打开表格
a = book1.sheet_by_name(u"附件2《自费家属体检名单统计表》") # 使用sheet名称获取工作簿
print(a.row_len(15)) #返回第15列的有效单元格长度
openexec()
输出结果为:16,如图:
- row(self, rowx) #返回由该行中所有的单元格对象组成的列表
print(str(a.row(3).decode("unicode-escape"))
输出结果为:[number:1.0, text:u'0054', text:u'张1', text:u'12451', text:u'体系54', text:u'部门54', text:u'岗位54', text:u'赵1', text:u'配偶父母', number:176.0, text:u'已婚', text:u'12465', number:199054.0, number:59.0, text:u'女', text:u'女']
- get_rows(self) #返回遍历每一行的生成器
print(a.get_rows())
输出结果为: at 0x0000000002EB6120>
- row_types(self, rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表
print(a.row_types(5))
输出结果为:array('B', [2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1])
- row_values(self, rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表
print(str(a.row_values(5)).decode("unicode-escape")) #需要进行格式转换
输出结果为:[3.0, u'0056', u'张3', u'12453', u'体系56', u'部门56', u'岗位56', u'赵3', u'配偶父母', 178.0, u'已婚', u'12467', 199056.0, 66.0, u'女', u'女']
- row_slice(self, rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的对象组成的列表
**
print(str(a.row_slice(5)).decode("unicode-escape")) #需要进行格式转换
输出结果为:[number:3.0, text:u'0056', text:u'张3', text:u'12453', text:u'体系56', text:u'部门56', text:u'岗位56', text:u'赵3', text:u'配偶父母', number:178.0, text:u'已婚', text:u'12467', number:199056.0, number:66.0, text:u'女', text:u'女']
- col_slice(self, colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的对象组成的列表
**
print(str(a.col_slice(0)).decode("unicode-escape")) #需要进行格式转换,表格有合并,所以只有1列
- col_values(self, colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表
print(str(a.col_values(0)).decode("unicode-escape")) #需要进行格式转换,表格有合并,所以只有1列
输出结果为:[u'员工自费家属体检名单', u'诺瓦员工信息填写', u'序号', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 167.0, 168.0, 169.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 188.0, 189.0, 190.0, 191.0, 192.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0]
- col_types(self, colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表
print(str(a.col_types(0)).decode("unicode-escape")) #需要进行格式转换,表格有合并,所以只有1列
输出结果为:[1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]