300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Python xlwt操作Excel表格实例:按行按列写入 自定义格式方法 自动调整列宽等

Python xlwt操作Excel表格实例:按行按列写入 自定义格式方法 自动调整列宽等

时间:2018-09-11 09:38:37

相关推荐

Python xlwt操作Excel表格实例:按行按列写入 自定义格式方法 自动调整列宽等

Python xlwt 模块编辑 Excle 表格 实例:按行按列写入、自定义格式方法、自动调整列宽等

前言:一、自写类实现:新建工作薄 sheet表,保存文件功能二、自写按行、按列写入方法三、创建格式方法四、自写设置行高列宽方法五、根据单元格内容自动调整列宽、统一设置行高方法结尾: 【Python与Office】专栏
前言:

前面三篇博客我们介绍了xlwt模块对Excel表格的很多基础操作,这篇博客我们来自己写一些方法。让我们在操作Excel表格时,更加方便简单,同时也是对前面内容的回顾。

一、自写类实现:新建工作薄 sheet表,保存文件功能

class My_xlwt(object):def __init__(self,sheet_name = sheet_1,re_write = True):\自定义类说明::param sheet_name:默认sheet表对象名称,默认值为 sheet_1:param re_write: 单元格重写写功能默认开启\self.work_book = xlwt.Workbook()self.sheet = self.work_book.add_sheet(sheet_name,cell_overwrite_ok=re_write)self.col_data = {}def save(self,file_name):self.work_book.save(file_name)

解析:

自己写了一个My_xlwt的类,继承Object类。在初始化方法中,新建了一个工作簿与sheet表。

col_data字典用来收集所有写入sheet表的列信息,为后续设置自动调整列宽用。

二、自写按行、按列写入方法

按行写入代码:

def write(self,row,col,label,style = Style.default_style):\在默认sheet表对象一个单元格内写入数据:param row: 写入行:param col: 写入列:param label: 写入数据\self.sheet.write(row,col,label,style)# 将列数据加入到col_data字典中if col not in self.col_data.keys():self.col_data[col] = []self.col_data[col].append(label)else:self.col_data[col].append(label)def write_row(self,start_row,start_col,date_list,style = Style.default_style):\按行写入一行数据:param start_row:写入行序号:param start_col: 写入列序号:param date_list: 写入数据:列表:return: 返回行对象\for col,label in enumerate(date_list):self.write(start_row,start_col+col,label,style)return self.sheet.row(start_row)def write_rows(self,start_row,start_col,data_lists,style = Style.default_style):\按行写入多组数据:param start_row: 开始写入行序号:param start_col: 写入列序号:param data_lists: 列表嵌套列表数据:return: 返回写入行对象列表\ ow_obj = []for row_,data in enumerate(data_lists):if isinstance(data,list):self.write_row(start_row+row_,start_col,data,style)row_obj.append(self.sheet.row(start_row+row_))else:msg = 数据列表不是嵌套列表数据,而是%s % type(data)raise Exception(msg

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。