公司工资条经常使用Excel制作,但是每个月都要做一遍,能不能用python写个程序自动化完成这想工作?当然可以,而且只是分分钟的事!
先来看看原始数据是什么样子:
最后做成的效果:

使用Excel每次都需要手动修改一遍,对python来说是很简单的,15行代码就可以秒出一个工资条。
一、操作逻辑
逻辑本身非常简单,其实就是在每行之间插入一个空行和一个表头行
二、代码模块
首先是读取Excel表格,读取表格所有内容,python读取excel的方式有很多,最简洁的就是pandas,pandas可以通过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, value=excel_head[c])sheet.cell(r + 2, c + 1, value=excel_data.iloc[row, c])sheet.cell(r + 3, c + 1, value=excel_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, value=excel_head[c])sheet.cell(r + 2, c + 1, value=excel_data.iloc[row, c])sheet.cell(r + 3, c + 1, value=excel_null[c])row += 1wb.save('E:\\青岛慧涵信息科技有限公司\\工资表-xg.xlsx')

五、其他设置
目前处理完成的文件格式使用的时默认格式,并没有使用对齐方式,本身工资条也没必要太花哨的格式,如果需要,也不要紧,pandas也可以满足你任意格式设置!这里就不展开了。只是这是源代码,如果是给非IT人员使用,那就使用 pyinstall打包个exe文件,那都不是事!

python小工具,15行代码秒出工资条相关推荐

  1. python代码300行程序_python小工具,15行代码秒出工资条

    公司工资条经常使用Excel制作,但是每个月都要做一遍,能不能用python写个程序自动化完成这想工作?当然可以,而且只是分分钟的事! 先来看看原始数据是什么样子: 最后做成的效果: 使用Excel每 ...

  2. python小游戏-16行代码实现3D撞球小游戏!-源码下载

    python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...

  3. 嘿嘿,几行代码秒出美女素描图

    今天上班时,我正在敲代码.女朋友突然发了一张图片给我: "老公,我也想要一个这样的头像..." 后面跟着一个可怜的表情. 无奈,不管怎样我只好应承下来. 下班回到家中,我准备把这个 ...

  4. 嘿嘿!几行代码秒出美女素描图!

    文 | 闲欢 来源:Python 技术「ID: pythonall」 今天上班时,我正在敲代码.女朋友突然发了一张图片给我: "老公,我也想要一个这样的头像..." 后面跟着一个可 ...

  5. MouseJack:利用15美元的工具和15行代码控制无线鼠标和键盘

    MouseJack:利用15美元的工具和15行代码控制无线鼠标和键盘 Bastille的研究团队发现了一种针对蓝牙键盘鼠标的攻击,攻击者可以利用漏洞控制你的电脑操作.研究团队将此攻击命名为MouseJ ...

  6. Python到底有多强大?只需 15 行代码即可进行人脸检测

    无论你是最近开始探索OpenCV还是已经使用它很长一段时间,在任何一种情况下,您都一定遇到过"人脸检测"这个词.随着机器变得越来越智能,它们模仿人类行为的能力似乎也在增加,而人脸检 ...

  7. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  8. 【python】15行代码实现猫脸检测(opencv)

    文章目录 1. 项目简介 2. 项目地址 3. 依赖模块 4. 完整代码 5. 必要组件 5.1. haar级联特征分类器(精度高) 5.2. lbp级联特征分类器(速度快) 6. 成果展示 6.1. ...

  9. 【python】15行代码实现人脸检测(opencv)

    文章目录 1. 项目简介 2. 项目地址 3. 依赖模块 4. 完整代码 5. 必要组件 5.1. haar级联特征分类器(精度高) 5.2. lbp级联特征分类器(速度快) 6. 成果展示 6.1. ...

最新文章

  1. 删除linux系统中的ifcfg-eth0.bak
  2. linux内核分析 网络九,“Linux内核分析”实验报告(九)
  3. Python教程:os 与 sys 模块详细用法
  4. mybatis+spring报错PropertyAccessException 1: org.springframework.beans.MethodInvocationException
  5. Flutter快速构建集美观与⾼性能于⼀体的APP
  6. 前端学习(591):source面板介绍
  7. 通俗解释主要编程语言及其用途
  8. html中th 与thead tbody的 使用
  9. oracle中master实例,Oracle10g/11g RAC数据库中的Master实例、Owner实例和Past Image的概念PART2...
  10. 华东理工大学和暨南大学计算机考研,2016华东理工大学VS暨南大学 孰强孰弱?...
  11. MVC+EF 入门教程(四)
  12. 超效率dea matlab,MATLAB在超效率DEA模型中的应用研究
  13. 【Android工具】更新简单好用IP端口扫描工具Fing Pro,网络设备查看工具,内网ip查询ip扫描工具,网络端口查询工具...
  14. Firefox 4.0浏览器正式版再次推迟发布
  15. 数字逻辑电路—全减器的实现
  16. 切换IP配置的bat批处理命令
  17. PDF如何编辑,怎么修改PDF中的文字
  18. 电子电器外贸行业管理解决方案丨汇信
  19. HTML网页中显示图片(相对路径 绝对路径)
  20. 网页中嵌入flash文件的几种方法

热门文章

  1. R语言 大视角看R及R初探(一)
  2. GeneratorConfig.xml文件配置详解及IDEA中的使用,处女座小编整理,值得一看
  3. 案例报道:索尼工程投影机郎酒集团展厅
  4. history.go history.forward history.back
  5. dump出Linux内核所有的slab对象缉拿内核Rootkit
  6. CSV格式清洗与转换
  7. 地质学与计算机的联系,计算机与地质学
  8. 能让Jellyfin直接挂载阿里云盘的aliyundrive-fuse
  9. 【HTML】HTML网页设计---模仿电影网站
  10. 论文解读《Relevance-CAM: Your Model Already Knows Where to Look》–阅读笔记