返回顶部
首页 > 资讯 > 后端开发 > Python >怎么利用Python实现读取Word表格计算汇总并写入Excel
  • 902
分享到

怎么利用Python实现读取Word表格计算汇总并写入Excel

2023-06-28 23:06:25 902人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关怎么利用python实现读取Word表格计算汇总并写入excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言快过年了,又到了公司年底评级的时候了。今年的评级

这篇文章将为大家详细讲解有关怎么利用python实现读取Word表格计算汇总并写入excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

前言

快过年了,又到了公司年底评级的时候了。今年的评级和往常一下,每个人都要填写公司的民主评议表,给各个同事进行评价打分,然后部门收集起来根据收集上来的评价表进行汇总统计。想想要收集几十号人的评价表,并根据每个人的评价表又要填到Excel中进行汇总计算统计给出每个人的评价,就头大。虽然不是个什么难事,但是是个无脑的细致活。几十个人的评价也得要花大半天的时间来弄,而且搞多了还容易搞错。如是就想起干脆用Python写个小程序自动来处理这些脏活累活,评级年年都要评,每年都可以用。

要做的事情就是读放到某个文件夹中的word文档中的评价表格,根据表格内容进行处理,然后汇总所有的表格数据,根据计算规则,算出每个人的评分,在根据评分计算每个人的评价。汇总后写入Excel中。

怎么利用Python实现读取Word表格计算汇总并写入Excel

不可否认用Python来实现这样的事情真的是太方便了,人生苦短我用Python。

我是用的python的docx包来处理word,用pandas来处理数据并写入excel

一、首先导入包

pip install docxpip 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文件

#将汇总计算好的数据写入Exceldef write2excle(exclefile,dataframe):    writer = pd.ExcelWriter(exclefile)    dataframe.to_excel(writer)    writer.save()    print('输出成功')

完整代码

Python不到八十行代码,实现读Word->处理表格数据->汇总计算数据->写Excel。

完整的代码如下:

import osimport pandas as pdfrom docx import Documentdata=[]#读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)#读取评议表的目录,并处理目录中的docx文件,根据评议表计算评分,写入汇总表。def readfile(filepah):    files=os.listdir(filepah)    for file in files:        if file.find('.docx')>0:            docfilepah=filepah+file            procdoc(docfilepah)    df = pd.DataFrame(data,columns=['序号','姓名','优秀','称职','基本称职','不称职','不了解'])    print(df)    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)    print(df)    write2excle('民主评议\\民主评议表汇总.xlsx',df)#根据评分规则计算评级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#将汇总计算好的数据写入Exceldef write2excle(exclefile,dataframe):    writer = pd.ExcelWriter(exclefile)    dataframe.to_excel(writer)    writer.save()    print('输出成功')if __name__ == '__main__':    readfile('民主评议\\')

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

关于怎么利用Python实现读取Word表格计算汇总并写入Excel就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么利用Python实现读取Word表格计算汇总并写入Excel

本文链接: https://lsjlt.com/news/321242.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 利用Python实现读取Word表格计算汇总并写入Excel
    目录前言一、首先导入包二、读评价表所在的目录文件三、读word文件,处理word中的表格数据四、统计计算五、将统计计算结果写入汇总Excel完整代码总结前言 快过年了,又到了公司年底...
    99+
    2024-04-02
  • 怎么利用Python实现读取Word表格计算汇总并写入Excel
    这篇文章将为大家详细讲解有关怎么利用Python实现读取Word表格计算汇总并写入Excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言快过年了,又到了公司年底评级的时候了。今年的评级...
    99+
    2023-06-28
  • 利用Python将list列表写入文件并读取的方法汇总
    目录1.writelines()直接写入2.str转化为字符串写入3.for循环写入4.使用.join函数修改列表读取数据附:还有写csv文件和excel文件的方式总结1.write...
    99+
    2024-04-02
  • Python利用pdfplumber实现读取PDF写入Excel
    目录一、Python操作PDF 13大库对比二、pdfplumber模块1.安装2. 加载PDF3. pdfplumber.PDF类4. pdfplumber.Page类三、实战操作...
    99+
    2024-04-02
  • Python怎么从Excel中计算整理数据并写入Word
    这篇文章主要介绍了Python怎么从Excel中计算整理数据并写入Word的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么从Excel中计算整理数据并写入Word文章都会有所收获,下面我们一起来看...
    99+
    2023-07-02
  • Python怎么实现Excel数据读取和写入
    这篇“Python怎么实现Excel数据读取和写入”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现Exce...
    99+
    2023-06-30
  • 怎么用python实现读取xlsx表格
    今天小编给大家分享一下怎么用python实现读取xlsx表格的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言快要过年了,现...
    99+
    2023-06-29
  • 怎么在python中利用后缀表达式实现一个计算器功能
    本文章向大家介绍怎么在python中利用后缀表达式实现一个计算器功能的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。前缀表达式运算符在数字的前面1 + (2 + 3) * 4 - 5 (中缀)- + 1 * + ...
    99+
    2023-06-06
  • Python怎么用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜
    这篇文章主要讲解了“Python怎么用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么用GDAL模块实现读取栅格数据并对指定...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作