成功的写入了Excel文件,对于我们同事来说,这个是一个皆大欢喜的结果,但是他还需要进行数据处理,所以我们想,索性帮他用代码把数据处理也做了,最后我们就写了一个result的文件,把他想要的两个时间内的数据做差,然后再写入另一个Excel中,下面是代码:
1 import xlrd,xlwt
2 import os,sys
3
4 base_dir = os.path.dirname(os.path.abspath(__file__))
5 print(base_dir)
6 sys.path.append(base_dir)
7
8 file_list = os.listdir(base_dir+"/handle/")
9 print(file_list)
10
11 my_workbook = xlwt.Workbook()
12
13 for filename in file_list:
14 date,project = filename.split(" ")[0],filename.split(" ")[-1]
15
16 if project == "cmep_to_excel.xls":
17
18 myworkbook = xlrd.open_workbook((base_dir+"/handle/" + filename))
19 i = 0
20 o = 1
21 while o < len(myworkbook.sheets()):
22 frist_sheet = myworkbook.sheets()[i]
23 second_sheet = myworkbook.sheets()[o]
24 rows_num = second_sheet.nrows
25 print(rows_num)
26
27 my_sheet = my_workbook.add_sheet(frist_sheet.cell(0,0).value.split("_GHP_")[0])
28
29 #在每个表单的头一行添加表头
30 my_sheet.write(0,0,"数据类型")
31 my_sheet.write(0,1,"日期")
32 my_sheet.write(0,2,"数据")
33 my_sheet.write(0,3,"单位")
34 m = 1
35 n = 0
36 while n < rows_num:
37
38 out_file = frist_sheet.cell(n,0).value
39 re_time = frist_sheet.cell(n,1).value
40 energy1 = float(frist_sheet.cell(n,2).value)
41 unit = frist_sheet.cell(n,3).value
42
43 energy2 = float(second_sheet.cell(n,2).value)
44 energy_output = energy2 - energy1
45
46 my_sheet.write(m,0,out_file)
47 my_sheet.write(m,1,re_time)
48 my_sheet.write(m,2,energy_output)
49 my_sheet.write(m,3,unit)
50
51 m +=1
52 n +=1
53 i += 2
54 o += 2
55
56 my_workbook.save(base_dir+"/handle/" + date + " result.xls")