一、获取工作簿及工作表
- 读取工作簿及工作表
import xlrd #读取工作簿 wb = xlrd.open_workbook(filename=r'C:\Users\Administrator.PC-20160806EWJL\Desktop\Python数据可视化\业绩指标衡量.xlsx') ##读取路径 #3种方式读取工作表 table1 = wb.sheets()[1] #通过索引顺序获取 table2 = wb.sheet_by_index(1) #通过索引顺序获取 table3 = wb.sheet_by_name('Sheet2') #通过名称获取 print(table1,'\n',table2,'\n',table3) # # 以上三个函数都会返回一个xlrd.sheet.Sheet()对象
结果:
<xlrd.sheet.Sheet object at 0x0000000008FA16D8> <xlrd.sheet.Sheet object at 0x0000000008FA16D8> <xlrd.sheet.Sheet object at 0x0000000008FA16D8>
2.获取工作簿中所用工作表名称及查看工作表是否当如成功
names = wb.sheet_names() #返回book中所有工作表的名字
print(names) print(data.sheet_loaded('Sheet1')) # 检查某个sheet是否导入完毕
结果:
['Sheet1', 'Sheet2', 'Sheet3'] True
二、对工作表中的行(raws)进行操作
nrows = table.nrows #获取该sheet中的有效行数 table.row(rowx)/table.row_slice(rowx) #返回由该行中所有的单元格对象组成的列表
table.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表
table.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表
table.row_len(rowx) #返回该行的有效单元格长度
- 事例
import xlrd wb = xlrd.open_workbook(r"C:\Users\Administrator.PC-20160806EWJL\Desktop\Python数据可视化\业绩指标衡量.xlsx") table = wb.sheet_by_name("Sheet1") print(table.nrows,'\n') #获取该sheet中的有效行数 print(table.row(1),'\n') #返回由该行中所有的单元格对象组成的列表 print(table.row_types(0, start_colx=0, end_colx=None),'\n') #返回由该行中所有单元格的数据类型组成的列表 print(table.row_values(1, start_colx=0, end_colx=None),'\n') #返回由该行中所有单元格的数据组成的列表 print(table.row_len(1)) #返回该列的有效单元格长度
结果:
7 [text:'员工A', number:3.6924042544390874, number:3.6354360275164543, number:3.4774668039215584, number:2.993047089319283, number:0.981679490963886, number:2.9117515738038224, number:4.16861821993065, number:0.8072696496151421] array('B', [0, 1, 1, 1, 1, 1, 1, 1, 1]) ['员工A', 3.6924042544390874, 3.6354360275164543, 3.4774668039215584, 2.993047089319283, 0.981679490963886, 2.9117515738038224, 4.16861821993065, 0.8072696496151421] 9
三、对工作表中的列(column)进行操作
ncols = table.ncols #获取列表的有效列数 table.col(colx, start_rowx=0, end_rowx=None) /table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表 table.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表 table.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表
- 事例
import xlrd wb = xlrd.open_workbook(r"C:\Users\Administrator.PC-20160806EWJL\Desktop\Python数据可视化\业绩指标衡量.xlsx") table = wb.sheet_by_name("Sheet1") print(table.ncols,'\n') #获取列表的有效列数 print(table.col(1,start_rowx=0,end_rowx=None),'\n') #返回由该列中所有的单元格对象组成的列表 print(table.col_types(1, start_rowx=0, end_rowx=None),'\n') #返回由该列中所有单元格的数据类型组成的列表 print(table.col_values(1, start_rowx=0, end_rowx=None),'\n') #返回由该列中所有单元格的数据组成的列表
结果:
9 [text:'指标A', number:3.6924042544390874, number:2.309496552320653, number:1.8410171154894823, number:2.4112829149263293, number:3.8001524925886, number:3.6] [1, 2, 2, 2, 2, 2, 2] ['指标A', 3.6924042544390874, 2.309496552320653, 1.8410171154894823, 2.4112829149263293, 3.8001524925886, 3.6]
四、对工作表中的单元格进行操作
table.cell(rowx,colx) #返回单元格对象 table.cell_type(rowx,colx) #返回单元格中的数据类型 table.cell_value(rowx,colx) #返回单元格中的数据
- 事例
import xlrd wb = xlrd.open_workbook(r"C:\Users\Administrator.PC-20160806EWJL\Desktop\Python数据可视化\业绩指标衡量.xlsx") table = wb.sheet_by_name("Sheet1") print(table.cell(1,1) ,'\n') #返回单元格对象 print(table.cell_type(1,1) ,'\n') #返回单元格中的数据类型 print(table.cell_value(1,1) ,'\n') #返回单元格中的数据
number:3.6924042544390874 2 3.6924042544390874
五、上述操作的表格数据