1、到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。
2、直接cmd,pip install xlrd即可。
0 empty,1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank
import xlrd
data = xlrd.open_workbook(filename)
excel中最重要的方法就是book和sheet的操作。
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取
table = data.sheet_by_name(sheet_name)#通过名称获取
以上三个函数都会返回一个xlrd.sheet.Sheet()对象
names = data.sheet_names() #返回book中所有工作表的名字
data.sheet_loaded(sheet_name or indx) # 检查某个sheet是否导入完毕
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) #返回该列的有效单元格长度
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) #返回由该列中所有单元格的数据组成的列表
table.cell(rowx,colx) #返回单元格对象
table.cell_type(rowx,colx) #返回单元格中的数据类型
table.cell_value(rowx,colx) #返回单元格中的数据
table.cell_xf_index(rowx, colx) # 暂时还没有搞懂
class ExcelRead: def __init__(self,excelpath): '''打开指定的excel文件''' self.excelread=xlrd.open_workbook(excelpath) def get_AllSheets(self): '''获取所有的sheets''' sheets=self.excelread.sheet_names() return sheets def get_SheetbyName(self,sheetname): ''' 通过name获取指定的sheet :param sheetname: sheet名称 :return: sheet ''' sheet=self.excelread.sheet_by_name(sheetname) return sheet def get_nrows(self,sheetname): ''' 获取指定sheet的行数 :param sheetname:sheet名称 :return: sheet总行数 ''' sheet=self.get_SheetbyName(sheetname) rows_num=sheet.nrows return rows_num def get_ncolumns(self,sheetname): ''' 获取指定sheet的列数 :param sheetname:sheet名称 :return: sheet总列数 ''' sheet=self.get_SheetbyName(sheetname) columns_num=sheet.ncols return columns_num def get_value(self,sheetname,row,col): ''' 通过行、列定位单元格获取value :param row: 行 :param col: 列 :return: 单元格value ''' sheet=self.get_SheetbyName(sheetname) getvalue=sheet.cell_value(row,col) return getvalue def get_row_values(self,sheetname,row): ''' 获取excel一行的数据 :param sheetname:sheet名称 :param row: 行数 :return: 返回一行的数据 ''' row_value_list=[] sheet=self.get_SheetbyName(sheetname) sheet_row_len=sheet.ncols #通过列数获取一行元素的长度 for i in range(sheet_row_len): get_value=self.get_value(sheetname,row,i) row_value_list.append(get_value) return row_value_list def get_column_values(self,sheetname,col): ''' 获取excel一列的数据 :param sheetname:sheet名称 :param col: 列数 :return: 返回一列的数据 ''' col_value_list=[] sheet=self.get_SheetbyName(sheetname) sheet_column_len=sheet.nrows #通过行数获取一列元素的长度 for i in range(sheet_column_len): get_value=self.get_value(sheetname,i,col) col_value_list.append(get_value) return col_value_list