1 import xlrd
2 from xlutils.copy import copy
3
4 # datas=xlrd.open_workbook(\'./case1.xls\')
5 # table=datas.sheet_by_index(0)
6 # table=datas.sheets()[0]
7 # print(table.nrows)
8 # print(table.cell_value(2,4))
9
10 class openExcel():
11 def __init__(self,filename=None,table_index=None):
12 if filename:
13 self.filename=filename
14 self.table_index = table_index
15 else:
16 self.filename=r\'E:\python\envname\Scripts\imooc\test_aa\case1.xls\'
17 self.table_index=0
18 self.table=self.get_tabel()
19
20 def get_tabel(self):
21 #打开文件
22 data=xlrd.open_workbook(self.filename)
23 #获取某个sheet表的内容
24 table=data.sheets()[self.table_index]
25 return table
26
27 #获取行数
28 def get_table_rows(self):
29 # table=self.get_tabel()
30 # return table.nrows
31 return self.table.nrows
32
33 #获取某一区间值
34 def get_table_value(self,hang,lie):
35 return self.table.cell_value(hang,lie)
36
37 #将实际结果写入excel文件
38 def write_value(self,row,line,value):
39 read_data=xlrd.open_workbook(self.filename)
40 copy_data=copy(read_data)
41 sheet_data=copy_data.get_sheet(0)
42 sheet_data.write(row,line,value)
43 copy_data.save(self.filename)
44
45 #获取某一行的值
46 def get_row_values(self,row):
47 row_values=self.table.row_values(row)
48 return row_values
49
50 #获取某一列的值
51 def get_col_values(self,col=None):
52 if col!=None:
53 return self.table.col_values(col)
54 else:
55 return self.table.col_values(0)
56
57 #根据case_id找到对应的行号
58 def get_rownum(self,case_id):
59 col_values=self.get_col_values()
60 num=0
61 for col_value in col_values:
62 if case_id==col_value:
63 return num
64 num=num+1
65
66 #根据行号找到该行的值
67 def get_rows_data(self,case_id):
68 row=self.get_rownum(case_id)
69 return self.get_row_values(row)