日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2024/9/27 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python代码300行程序_python小工具,15行代码秒出工资条 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

公司工資條經常使用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 += 1

wb.save('E:\\青島慧涵信息科技有限公司\\工資表-xg.xlsx')

五、其他設置

目前處理完成的文件格式使用的時默認格式,并沒有使用對齊方式,本身工資條也沒必要太花哨的格式,如果需要,也不要緊,pandas也可以滿足你任意格式設置!這里就不展開了。只是這是源代碼,如果是給非IT人員使用,那就使用 pyinstall打包個exe文件,那都不是事!

原文鏈接:https://blog.csdn.net/wuwei_201/article/details/108040661

總結

以上是生活随笔為你收集整理的python代码300行程序_python小工具,15行代码秒出工资条的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。