# python openpyxl复制sheet工作表到另一个工作簿代码 # from openpyxl import Workbook,load_workbook #方法1: # def copy_sheet(src_xlsx,ssheetname,dst_xlsx,nsheetname=None): # ''' # 复制sheet工作表到另一个工作簿 # :param src_xlsx:源xlsx工作簿文件(相对/绝对目录及文件名)包含xlsx后缀 不存在则报错 字符串类型 # :param ssheetname:源工作表名 不存在则报错 字符串类型 # :param dst_xlsx:复制后的工作表名 不填写默认与原名相同 字符串类型 # :param nsheetname:目标xlsx工作簿文件 如不存在则创建 # :return: # ''' # # if nsheetname==None: # 如果nsheetname==None, # nsheetname=ssheetname # try: # sw=load_workbook(f'{src_xlsx}',data_only=True) # except KeyError: # raise KeyError('旧工作簿不存在 The old xlsx is not exists') # try: # dw=load_workbook(f'{dst_xlsx}') # except FileNotFoundError: # dw=Workbook() # try: # sheet = dw[f'{nsheetname}'] # except KeyError: # sheet=dw.create_sheet(f'{nsheetname}') # try: # src_sheet=sw[f'{ssheetname}'] # except KeyError: # raise KeyError('源工作簿文件不存在该工作簿 The sheet does not exist in the source file') # for row in src_sheet.iter_rows(): # # print(row) # row_list=[] # for cell in row: # row_list.append(cell.value) # # print(row_list) # sheet.append(row_list) # dw.save(f'{dst_xlsx}') # dw.close() # 方法2 def copy_sheet(src_xlsx,ssheetname,dst_xlsx,data_only=True): ''' 复制sheet工作表到另一个工作簿 :param src_xlsx:源xlsx工作簿文件(相对/绝对目录及文件名)包含xlsx后缀 不存在则报错 字符串类型 :param ssheetname:源工作表名 不存在则报错 字符串类型 :param dst_xlsx:复制后的工作表名 不填写默认与原名相同 字符串类型 :param data_only:如果为True,则数据保留为数值,否则False则保存为公式. :return: ''' try: if data_only==True: sw=load_workbook(f'{src_xlsx}',data_only=True) else: sw = load_workbook(f'{src_xlsx}', data_only=False) sheets=sw.sheetnames print(sheets) except KeyError: raise KeyError('旧工作簿不存在 The old xlsx is not exists') for sh in sheets: if sh != ssheetname: print(f'正在删除{sh}') del sw[sh] sw.save(f'{dst_xlsx}') sw.close() print(f'{dst_xlsx}已经保存!') if __name__ == '__main__': copy_sheet('jxgz.xlsx','汇总上交财务','汇总上交财务.xlsx',data_only=True)
python openpyxl复制sheet工作表到另一个工作簿代码
最新推荐文章于 2025-03-14 18:12:01 发布