![f0772a2293ddfb9cc038f66fe1780017.gif](https://img-blog.csdnimg.cn/img_convert/f0772a2293ddfb9cc038f66fe1780017.gif)
对于项目管理人员,给员工发工资是每月必做的大事。工资条也是每个员工发工资的凭证,但现实往往我们遇到到表格都是完整的一整表,现在我们想每一条记录都加上一个表头,方便复制粘贴。
应用实例
# 工资表的制作import openpyxlzb=openpyxl.load_workbook("火影忍者.xlsx")zs=zb.worksheets[0]# 将行号由最大行号以步长为-1降序排列,一直循环到第3行结束。(可以搜公众号内range的用法)for r in range(zs.max_row,2,-1):# 将循环的每一行也就是第r行,向上插入两行空白行 zs.insert_rows(r,2)# 将每一列循环,表格一共7列,目的是为了取到第一列的表头的值 for c in range(1,8):# 将1行c列(实际就是第一行的表头)的值赋予单元格r+1行c列 zs.cell(r+1,c).value=zs.cell(1,c).valuezb.save("火影忍者.xlsx")
输出结果
多聊几句:
对于处理excel的几个库的认识
1、最开始使用的是xlrd,xlwt两个模块,但是xlwt这个模块只能输出.xls文件,不能输出.xlsx文件,而.xls最多只能支持256列。
2、openpyxl和xlsxwriter都可以输出10版的excel文件,但是openpyxl在使用上要更麻烦一点,而且openpyxl有一个比较蛋疼的地方就是最合并单元格的格式有问题,会出现边框不全等,openpyxl各个版本之间有所差异,经常升级以后就出现错误。但是openpyxl可以读入已有的excel表格,进行增量更新。这意味着,可以手动将excel表格的格式先创建好,再用openpyxl去更新数据,这个对于格式比较复杂的excel表格效率提高很多。
3、pandas读取excel表格很方便,再加上pandas强大的数据处理功能,可以很容易生成目标数据,然后利用openpyxl或者xlsxwriter将数据写进excel。
总而言之:
不想使用 GUI 而又希望赋予 Excel 更多的功能,openpyxl 与 xlsxwriter,你可二者选其一。需要进行科学计算,处理大量数据,建议 pandas+xlsxwriter 或者 pandas+openpyxl。
end