900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Python+Excel系列:案例七:将一个工作薄的所有工作表批量复制到其他工作簿 将某个工

Python+Excel系列:案例七:将一个工作薄的所有工作表批量复制到其他工作簿 将某个工

时间:2022-04-27 17:56:30

相关推荐

Python+Excel系列:案例七:将一个工作薄的所有工作表批量复制到其他工作簿 将某个工

文章目录

将一个工作薄的所有工作表批量复制到其他工作簿将某个工作表的数据批量复制到其他工作簿的指定工作表中

将一个工作薄的所有工作表批量复制到其他工作簿

import os #导入os模块import xlwings as xw #导入xlwings模块app = xw.App(visible=False,add_book=False)file_path = 'e:/table/test' #给出目标工作簿所在的文件夹路径file_list = os.listdir(file_path) #列出文件夹下所有文件和子文件夹的名称workbook = app.books.open('e:/table/text1.xlsx') #打开来源工作簿worksheet = workbook.sheets #获取来源工作薄中的所有工作表for i in file_list:if os.path.splitext(i)[1] == '.xlsx':workbooks = app.books.open(file_path+'\\'+i) #如果是工作簿则将其打开for j in worksheet:contents = j.range('A1').expand('table').value #读取来源工作簿中要复制的工作表数据name = j.name #获取来源工作簿中的工作表名称workbooks.sheets.add(name = name,after = len(workbooks,sheets)) #在目标工作簿中新增同名工作表workbooks.sheet[name].range('A1').value = contents #将从来源工作簿中读取的的工作表数据写入新增工作表workbooks.save() #保存目标工作薄app.quit()

知识延伸:

第12行代码中的expand()是xlwings模块中的函数,用于扩展选择范围,其语法格式和常用参数含义如下。

将某个工作表的数据批量复制到其他工作簿的指定工作表中

import os #导入os模块import xlwings as xw #导入xlwings模块app = xw.App(visible=False,add_book=False)file_path = 'e:/table/test' #给出目标工作簿所在的文件夹路径file_list = os.listdir(file_path) #列出文件夹下所有文件和子文件夹的名称workbook = app.books.open('e:/table/textAdd.xlsx')worksheet = workbook.sheets['sheetadd'] #选中工作表“sheetadd”value = worksheet.range('A1').expend(table) #读取工作表“sheetadd”中的所有数据start_cell = (2,1) #给出要复制数据的单元格区域的起始单元格end_cell = (value.shape[0],value.shape[1]) #给出要复制数据的单元格区域的结束单元格cell_area = worksheet.range(start_cell,end_cell).value #根据前面设定的单元格区域选取要复制的数据for i in file_list:if os.path.splitext(i)[1] == '.xlsx':try:workbooks = xw.Book(file_path+'\\'+i)sheet = workbooks.sheets['sheetnew'] #选中要粘贴数据的工作表“sheetnew”scope = sheet.range('A1').expand() #选中要粘贴数据的单元格区域sheet.range(scope.shape[0]+1,1).value = cell_area #粘贴数据workbooks.save() #保存目标工作薄finally:workbooks.close() #关闭目标工作簿workbook.close() #关闭来源工作薄app.quit()

Python+Excel系列:案例七:将一个工作薄的所有工作表批量复制到其他工作簿 将某个工作表的数据批量复制到其他工作簿的指定工作表中

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