毕业设计做网站做不出,诸暨公司做网站,医疗器械注册证查询,app开发公司哪个公司好公司工资条经常使用Excel制作#xff0c;但是每个月都要做一遍#xff0c;能不能用python写个程序自动化完成这想工作#xff1f;当然可以#xff0c;而且只是分分钟的事#xff01;
先来看看原始数据是什么样子#xff1a;
最后做成的效果:使用Excel每次都需要手动修改一…公司工资条经常使用Excel制作但是每个月都要做一遍能不能用python写个程序自动化完成这想工作当然可以而且只是分分钟的事
先来看看原始数据是什么样子
最后做成的效果:使用Excel每次都需要手动修改一遍对python来说是很简单的15行代码就可以秒出一个工资条。
一、操作逻辑
逻辑本身非常简单其实就是在每行之间插入一个空行和一个表头行
二、代码模块
首先是读取Excel表格读取表格所有内容python读取excel的方式有很多最简洁的就是pandaspandas可以通过read_excel()和to_excel()非常简单的读写excel。读取数据一行搞定
import pandas
excel_data pandas.read_excel(E:\\python_practice\\工资表.xlsx) # 读取信息
print(excel_data) # 输出结果
序号 姓名 部门 职务 基本工资 工龄津贴 岗位补贴 奖金 应发 五险一金 实发
0 1 张三 人事部 经理 8600 700 300 5000 14600 1800 12800
1 2 李四 行政部 副经理 8600 700 300 3000 12600 1800 10800
2 3 王五 市场部 经理 8600 700 300 5000 14600 1800 12800
3 4 赵六 市场部 职员 5600 300 100 1000 7000 1300 5700
4 5 孙七 市场部 职员 5600 300 100 1000 7000 1300 5700
插入行其实只是我们人为的动作python是可以单独插入来实现但是我们可以逐行写入文件直接在写文件时多写两行即可省去了操作数据插入的过程实际上即便单独插入用pandas也是秒完成的能少一步就不多一步只是涉及到逐行插入逐行写入to_excel()是不行的可以使用openoyxl好的我们先来把重复插入的两行创建出来
excel_head list(excel_data.columns)
excel_null [, , , , , , , , , , ]
导入 openpyxl并创建对象
import openpyxl
wb openpyxl.Workbook() # 创建一个对象
sheet wb.active
三、循环写入文件
使用双层for循环写数据到文件只是这里思维逻辑上有一点比较难理解就是新文件的行序号和源数据的行序号的对应关系这涉及到取数据赋值代码如下
row 0
for r in range(0, excel_data.shape[0] * 3, 3):
for c in range(excel_data.shape[1]):
sheet.cell(r 1, c 1, valueexcel_head[c])
sheet.cell(r 2, c 1, valueexcel_data.iloc[row, c])
sheet.cell(r 3, c 1, valueexcel_null[c])
row 1
四、完整代码
别看上面说了很多实际代码只需要15行
import pandas
import openpyxl
excel_data pandas.read_excel(E:\\青岛慧涵信息科技有限公司\\工资表.xlsx) # 读取信息
excel_head list(excel_data.columns)
excel_null [, , , , , , , , , , ]
wb openpyxl.Workbook() # 创建一个对象
sheet wb.active
row 0
for r in range(0, excel_data.shape[0] * 3, 3):
for c in range(excel_data.shape[1]):
sheet.cell(r 1, c 1, valueexcel_head[c])
sheet.cell(r 2, c 1, valueexcel_data.iloc[row, c])
sheet.cell(r 3, c 1, valueexcel_null[c])
row 1
wb.save(E:\\青岛慧涵信息科技有限公司\\工资表-xg.xlsx)
五、其他设置
目前处理完成的文件格式使用的时默认格式并没有使用对齐方式本身工资条也没必要太花哨的格式如果需要也不要紧pandas也可以满足你任意格式设置这里就不展开了。只是这是源代码如果是给非IT人员使用那就使用 pyinstall打包个exe文件那都不是事
原文链接:https://blog.csdn.net/wuwei_201/article/details/108040661