【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储

您所在的位置:网站首页 xlwt读取excel 【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储

【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储

2024-03-16 22:22| 来源: 网络整理| 查看: 265

最近在编程的过程中,总是涉及将数据存储到EXECEL情况,下面将自己实现的方法进行分析与共享,有瑕疵的地方还请赐教。 一、直接上代码

""" 功能描述:实现execel表中插入数据 涵盖逻辑: 1、对于无文件,自动创建文件,后自动存储数据 2、对于有文件,无sheet页,自动创建sheet页,后自动存储数据 3、对于有文件,有sheet页,自动存储数据 """ import xlrd,xlwt from xlutils.copy import copy import os def add_new_sheet_or_data(save_file,sheet_name,col_names,data_list): """ 功能:实现execel多sheet页插入数据 :param save_file:要存储的文件 :param sheet_name:sheet的名字 :param col_names:sheet表的表头 :param data_list:要存储的数据,本例为嵌套list[[1,2,3,4],[11,22,33,44]],每个子list的长度建议与sheet表头对应 :return: """ #如果不存在文件,则创建文件以及sheet页 if not os.path.exists(save_file): table = xlwt.Workbook(encoding= "utf-8") wbsheet = table.add_sheet(sheet_name, cell_overwrite_ok=True) if col_names: for i in range(len(col_names)): wbsheet.write(0, i, col_names[i],style=xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center')) row =1 else: wb = xlrd.open_workbook(save_file) sheet_names = wb.sheet_names() table =copy(wb) # 如果存在文件,但不存在sheet页,则创建sheet页 if sheet_name not in sheet_names: wbsheet = table.add_sheet(sheet_name) if col_names: for i in range(len(col_names)): wbsheet.write(0, i, col_names[i],style=xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center')) row = 1 #如果存在文件+sheet页,则直接获取行号 else: wbsheet = table.get_sheet(sheet_name) row =len(wbsheet.rows) for i in range(len(data_list)): for j in range(len(data_list[i])): wbsheet.write(row, j, data_list[i][j],style=xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center')) row += 1 table.save(save_file) save_file = os.path.dirname(os.path.abspath(__file__))+"/test自动创建表格.xls" """ case1:无表 sheet_name = "试用第一次" col_names = ("字段0","字段1","字段2","字段3") data_list =[[1,2,3,4],[11,22,33,44]] """ """ case2:有表,无sheet页 sheet_name = "试用第二次" col_names = ("字段0","字段1","字段2","字段3") data_list =[[1,2,3,4],[11,22,33,44]] """ """ case3:有表,有sheet页 """ sheet_name = "试用第二次" col_names = ("字段0","字段1","字段2","字段3") data_list =[[6,7,8,9],[66,77,88,99]] add_new_sheet_or_data(save_file, sheet_name, col_names, data_list)

二、测试代码 (1)当无文档路径的情况下,会自动创建一个文档,并将数据存储到表格中 在这里插入图片描述 (2)当有文档,无对应的sheet页时,将自动添加sheet页,并存储 原sheet页无变化, 在这里插入图片描述 (3)有文档有sheet页时,自动存储数据

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3