Python 读取xlsx表格数据


一、获取工作簿及工作表

  1. 读取工作簿及工作表
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 

五、上述操作的表格数据


					


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM