由于工作中处理表格的工作居多,其中存在了大量的重复工作内容,过年在家隔离学习Python,看了一套自动化办公教程,着重学了一下Excel方面的自动处理
比如:在做审计资料的时候需要大量重复复制sheet表,只需要修改每个sheet里面的个别内容即可,今天得空利用所学的知识写了一个代码,日后将省去不少时间
仅仅用了13行代码搞定,不得不感叹Python的强大,请看一下源码:
from openpyxl import load_workbook # 导入新格式Excel模块
# 打开新格式文档,只能打开xlsx格式,不能打开xls格式
lu_book = load_workbook(filename='D:/路口名.xlsx')
lu_sheet = lu_book.active # 获取打开文档的sheet表名称
work_book = load_workbook(filename='D:/2018年度.xlsx')
work_sheet = work_book['汇总表'] # 获取打开文档的sheet表名称
# 遍历表格:路口名.xlsx中的内容,若没有values_only=True,
# 则遍历值是表格位置而非内容值
for row in lu_sheet.iter_rows(min_row=1, max_row=10, min_col=1,
max_col=1, values_only=True):
# 复制原有sheet表,创建新sheet
new_sheet = work_book.copy_worksheet(work_sheet)
# 为新复制创建的sheet表重命名为遍历的值
new_sheet.title = '%s' % row
# 指定单元格位置
cell = new_sheet['A6']
# 在指定单元格内写入内容
cell.value = '点位名称:%s' % row
# 保存文档,若名字不同重新建一个文档
work_book.save(filename='D:/2018年度.xlsx')
work_book.close() # 关闭文档
lu_book.close()
由于文档涉及工作中的保密就不分享了,大家只需要复制源码把内容修改成自己的即可,代码中也做了注释,如有不懂可留言交流。