日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

快過年了,又到了公司年底評級的時候了。今年的評級和往常一下,每個人都要填寫公司的民主評議表,給各個同事進行評價打分,然后部門收集起來根據收集上來的評價表進行匯總統計。想想要收集幾十號人的評價表,并根據每個人的評價表又要填到Excel中進行匯總計算統計給出每個人的評價,就頭大。雖然不是個什么難事,但是是個無腦的細致活。幾十個人的評價也得要花大半天的時間來弄,而且搞多了還容易搞錯。如是就想起干脆用Python/ target=_blank class=infotextkey>Python寫個小程序自動來處理這些臟活累活,評級年年都要評,每年都可以用。

要做的事情就是讀放到某個文件夾中的word文檔中的評價表格,根據表格內容進行處理,然后匯總所有的表格數據,根據計算規則,算出每個人的評分,在根據評分計算每個人的評價。匯總后寫入Excel中。

Python實現讀取Word表格計算匯總寫入Excel

 

不可否認用Python來實現這樣的事情真的是太方便了,人生苦短我用Python。

我是用的python的docx包來處理word,用pandas來處理數據并寫入excel

一、首先導入包

pip install docx

pip install pandas

pandas寫excel依賴openpyxl包所以也到導入

pip install openpyxl

二、讀評價表所在的目錄文件

通過python的os包,列出文件夾里面的文件,識別出.docx的文件

files=os.listdir(filepah)

for file in files:

if file.find('.docx')>0:

docfilepah=filepah+file

三、讀word文件,處理word中的表格數據

data=[]

#讀word的docx評議表文件,并讀取word中的表格數據

def procdoc(docfilepath):

document=Document(docfilepath)

tables=document.tables

table=tables[0]

for i in range(1,len(table.rows)):

id=int(table.cell(i,0).text)

name=table.cell(i,1).text

excellent=0

if table.cell(i,2).text!='' and table.cell(i,2).text is not None:

excellent=1

competent = 0

if table.cell(i, 3).text!='' and table.cell(i, 3).text is not None:

competent=1

basicacompetent=0

if table.cell(i, 4).text!='' and table.cell(i, 4).text is not None:

basicacompetent=1

notcompetent = 0

if table.cell(i, 5).text!='' and table.cell(i, 5).text is not None:

notcompetent=1

dontunderstand =0

if table.cell(i, 6).text!='' and table.cell(i, 6).text is not None:

dontunderstand=1

Appraisedata=[id,name,excellent,competent,basicacompetent,notcompetent,dontunderstand]

data.append(appraisedata)

四、統計計算

通過pandas直接對數據進行統計計算,避免了傳統的循環計算。

df = pd.DataFrame(data,columns=['序號','姓名','優秀','稱職','基本稱職','不稱職','不了解'])

df=df.groupby(['序號','姓名']).sum() #匯總每個人每一項的評分

df['票數'] = df.apply(lambda x: x.sum(), axis=1) #統計票數

df['計分'] = (df['優秀']*95+df['稱職']*85+df['基本稱職']*75+df['不稱職']*65+df['不了解']*0)/len(df)#根據規則計分

df['評價']=df['計分'].map(getscore) #根據規則評價評級

計分方法:民主評議得分=Σ各等級票數*等級計分分數/總票數,其中“優秀”計95分,“稱職”計85分,“基本稱職”計75分,“不稱職”計65分,“不了解”不計分。

#根據評分規則計算評級

def getscore(x):

if x>=95:

score='優秀'

elif x>=80 and x<95:

score='稱職'

elif x>=75 and x<80:

score='基本稱職'

elif x<75:

score='不稱職'

return score

五、將統計計算結果寫入匯總Excel

通過pandas直接可以將dataframe寫入到Excel文件

#將匯總計算好的數據寫入Excel

def write2excle(exclefile,dataframe):

writer = pd.ExcelWriter(exclefile)

dataframe.to_excel(writer)

writer.save()

print('輸出成功')

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定