#execle写入模块 import xlwt class WriteExecle(): def __init__(self,sheet_name,filename,header_data,data): ''' :param sheet_name: sheet表单名称 :param filename: 存放execle文件绝对路径 :param header_data: 写入的列表头字段数据 :param data: 写入的数据 ''' self.sheet_name =sheet_name self.filename =filename self.header_data =header_data self.data =data def write_execle(self): workbook = xlwt.Workbook() #激活worksheet #worksheet = workbook.add_sheet(self.sheet_name) # 数据可以直接分配到单元格中 worksheet = workbook.add_sheet(self.sheet_name) for i in range(len(self.header_data)): ret = self.header_data[i][0] worksheet.write(0,i,ret) contenRow = len(self.data) first_col = [] for i in range(contenRow): first_col.append(self.data[i][0]) nfirst_col = list(set(first_col)) nfirst_col.sort(key=first_col.index) # sort排序与原顺序一致 #print("nfirst_col",nfirst_col) row = 1 for i in nfirst_col: count = first_col.count(i) # 计算元素的重复个数,比如测试 :3 uprange = row+count-1 #合并范围后的上行数 worksheet.write_merge(row,uprange,0,0,i) #合并单元格写入内容 row = uprange+1 #从下一行开始写入 #获取content子列表第二个元素,循环写入excel第2列到最后开始的数据 for row in range(contenRow): for col in range(1,len(self.data[row])): worksheet.write(row+1,col,self.data[row][col]) try: workbook.save(self.filename) print("数据总量:{0}被写入{1}".format(contenRow, self.filename)) except: print('\033[1;35m 执行失败:{}文件已打开,请关闭 \033[0m!'.format(self.filename))
python将数据写入execle
猜你喜欢
转载自www.cnblogs.com/yrash/p/11491231.html
今日推荐
周排行