1. 安装xlrd
方法:通过pip 或者 pycharm IDE
2. 使用
2.1 打开Excel表
导入模块:import xlrd
打开工作簿:book = xlrd.open_workbook('file.xls')
获取工作表3种方法:
sheet = book.sheet()[0] #通过索引顺序获取工作表
sheet = book.sheet_by_index(0) #通过索引顺序获取工作表
sheet = book.sheet_by_name('file.xls') #通过名称获取工作表
遍历每一个sheet,输出sheet名字
for sheet in sheets:
print(sheet.name)
2.2 获取整行和整列的值(数组)
sheet.row_values(i) #获取某行值
sheet.col_values(i) #获取某列值
2.3 获取行数和列数
nrows = sheet.nrows #行数
ncols = sheet.ncols #列数
2.4 获取某列或者行数据
for i in range(nrows)
print sheet.row_values(i)
2.5获取单元格数据
for sheet in sheets:
print sheet.cell_value(0,0) #获取单元格值
print sheet.cell_type(4,6) #获取单元格类型
print sheet.cell(0,0) #获取单元格对象
代码:
import xlrd class ReaderExcel(object): def __init__(self,file,sheet): self.file = file self.sheet = sheet self.s = None #打开工作簿 def open_excel(self): try: book = xlrd.open_workbook(self.file) return book except Exception: print(u'文件路径不存在') #读取excel数据 def read_excel(self): book = self.open_excel() #根据sheet值确定访问sheet方法 if type(self.sheet) not in [int,str]: print(u'请输入<type int>or <type str>,not{0}'.format(type(self.sheet))) elif type(self.sheet)== int: self.s = book.sheet_by_index(self.sheet) else: self.s = book.sheet_by_name(self.sheet) title = self.s.row_values(0) #获取标题行值 rows = self.s.nrows #总行数 list = [] for i in range(1,rows): #循环行 rowvalues = self.s.row_values(i) if rows: app = {} for j in range(0,len(title)): #循环列 app[title[j]] = rowvalues[j] #将每一列的每一个值赋值给标题,组成字典 list.append(app) #字典组织列表 #print(list) return list #打印某个值 def print_data(self): for d in self.read_excel(): print(d) print(d['name']) if __name__ == '__main__': excel = ReaderExcel(r'F:\Python\learn\read_excel.xlsx',0) #excel.read_excel() excel.print_data()
运行结果: