|
方法一(通用)在前面如果你的python是x32的,并且安装的是WPS,可以考虑使用三方库win32com来实现。示例代码importwin32com.clientasclientsource_file=r"C:\Users\xxx\Desktop\test!.xlsx"target_file=r"C:\Users\xxx\Desktop\test!-副本.xlsx"#xl=client.Dispatch("Excel.Application")xl=client.gencache.EnsureDispatch("Ket.Application")#wpsusexl.Visible=0#不显示wb1=xl.Workbooks.Open(Filename=source_file)wb2=xl.Workbooks.Open(Filename=target_file)ws1=wb1.Worksheets(1)ws1.Copy(After=wb2.Worksheets('test1'))wb1.Close(SaveChanges=False)wb2.Close(SaveChanges=True)xl.Quit()结果示例方法二(不通用)在前面如果你的python>=3.7x64,安装的是MicrosoftExcel,那么可以考虑使用三方库Spire.Xlsforpython。需要注意的是,如果你没有它的license,那么它会自动生成一个EvaluationWarning的Sheet,需要后期删除官方文档中的说明生成的Excel文件示例代码fromspire.xlsimportWorkbook,ExcelVersionsource_file=r"C:\Users\xxx\Desktop\test!.xlsx"target_file=r"C:\Users\xxx\Desktop\test!-副本.xlsx"#读取源数据表sourceWorkbook=Workbook()sourceWorkbook.LoadFromFile(source_file)destWorkbook=Workbook()destWorkbook.LoadFromFile(target_file)#复制之后的sheet名sourceSheet=sourceWorkbook.Worksheets[0]sheetName=sourceSheet.Name+"_Copy"destSheet=destWorkbook.Worksheets.Add(sheetName)#复制destSheet.CopyFrom(sourceSheet)destWorkbook.CopyTheme(sourceWorkbook)#保存,根据Excel版本不同destWorkbook.SaveToFile(target_file,ExcelVersion.Version2013)#释放sourceWorkbook.Dispose()destWorkbook.Dispose()
|
|