应用场景
一个工作簿是由多个工作表组成的,如果手工拆分工作簿是比较花时间的,如果数量多的话,真的是非常烦躁的工作。现在,我们使用Python编程就可以快速拆分工作簿了。
代码实现及注释
import xlwings as xwapp = xw.App(visible=False, add_book=False)file_path = 'D:\\PythonProject\Python+Excel\\2-工作簿操作\\test\\采购表.xlsx'workbook = app.books.open(file_path)worksheet = workbook.sheetsfor i in worksheet: # 遍历工作簿中所有工作表new_workbook = app.books.add() # 新建工作簿new_worksheet = new_workbook.sheets[0] # 选中新建工作簿中的第1张工作表i.copy(before=new_worksheet) # 将原来工作簿中的当前工作表复制到新建工作簿的第1张工作表之前new_workbook.save('D:\\PythonProject\Python+Excel\\2-工作簿操作\\test\\{}.xlsx'.format(i.name)) # 保存新工作簿new_workbook.close() # 关闭新建工作簿app.quit() # 退出Excel程序
知识拓展
第8行代码中,sheets[0]表示的是第1个工作表,sheets[1]表示的是第2个工作表,以此类推
第9行代码中,copy()函数的作用的是复制工作表。当参数为before时,表示在目标工作表之前放置复制的工作表;如果参数是after,表示在目标工作表之后放置复制的工作表
第10行代码中,format()函数的主要功能是将不同类型的值拼接成字符串。如:
a = '{}考了{}分'.format('小A', 100)
b = '{1}考了{0}分'.format(100, '小A')
c = '{name}考了{score}分'.format(name='小A', score=100)
print(a)
print(b)
print(c)
结果展示:
小A考了100分
小A考了100分
小A考了100分