教你怎么用Python处理excel实现自动化办公


Posted in Python onApril 30, 2021

一、介绍

实现的是把某个文件夹下的所有文件名提取出来,放入一个列表,在与excel中的某列进行对比,如果一致的话,对另一列进行操作,比如我们在统计人员活动情况的时候,对参加的人需要进行记录。

二、步骤

代统计名单

比如下面这个目录是参与活动的人员名单,每个文件夹为每个人参与活动的相关资料,有些目录是很多人一起参与一个活动,这个时候我要把文件遍历,把名字输入到一个列表中。

教你怎么用Python处理excel实现自动化办公

相关代码如下

# 保存指定目录下文件名到列表
def Save_name(dirPath):
    filePath = dirPath
    names = os.listdir(filePath)
    return names


# 处理文件名
def progress_name(name):
    result = []
    for str in name:
        str_list = str.split()
        for i in str_list:
            result.append(i)
    return result

代处理的excel如下

教你怎么用Python处理excel实现自动化办公

处理excel我用到的是pandas库,相关代码如下:

# 处理excel表
def progress_excel(name, filepath, col):
    data1 = pd.DataFrame(pd.read_excel(filepath))  # 这个会直接默认读取到这个Excel的第一个表单
    data = data1.head(70)  # 默认读取前5行的数据
    num = data.index
    for i in name:
        for j in num:
            if data['姓名'].loc[j] == i:
                data[col].loc[j] = 0.5
    print(data)
    DataFrame(data).to_excel('活动记录.xlsx', sheet_name='Sheet1', index=False, header=True)

代码运行后如下

教你怎么用Python处理excel实现自动化办公

可以看到,成功处理了我需要他处理的列,并进行时长的统计

三、完整代码

import os
import pandas as pd
from pandas import DataFrame


# 保存指定目录下文件名到列表
def Save_name(dirPath):
    filePath = dirPath
    names = os.listdir(filePath)
    return names


# 处理文件名
def progress_name(name):
    result = []
    for str in name:
        str_list = str.split()
        for i in str_list:
            result.append(i)
    return result


# 处理excel表
def progress_excel(name, filepath, col):
    data1 = pd.DataFrame(pd.read_excel(filepath))  # 这个会直接默认读取到这个Excel的第一个表单
    data = data1.head(70)  # 默认读取前5行的数据
    num = data.index
    for i in name:
        for j in num:
            if data['姓名'].loc[j] == i:
                data[col].loc[j] = 0.5
    print(data)
    DataFrame(data).to_excel('活动记录.xlsx', sheet_name='Sheet1', index=False, header=True)


if __name__ == '__main__':
    path = 'F:\\党支部\\环境美化活动'  # 要提取文件夹名的路径
    names = Save_name(path)
    filenames = progress_name(names)
    # print(filenames)
    # print(len(filenames))
    excelname = 'F:\\党支部\\活动记录.xlsx'  # 要处理的表
    col = '校园环境美化活动(0.5h)'  # 要处理的列
    progress_excel(filenames, excelname, col)

到此这篇关于教你怎么用Python处理excel实现自动化办公的文章就介绍到这了,更多相关用Python处理excel实现自动化办公内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python self,cls,decorator的理解
Jul 13 Python
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
Python深入学习之对象的属性
Aug 31 Python
python友情链接检查方法
Jul 08 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
Nov 11 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Python简单读取json文件功能示例
Nov 30 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
python 自动重连wifi windows的方法
Dec 18 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
解决python绘图使用subplots出现标题重叠的问题
python数据库批量插入数据的实现(executemany的使用)
Apr 30 #Python
Python如何把不同类型数据的json序列化
Apr 30 #Python
python实现三次密码验证的示例
Django一小时写出账号密码管理系统
python中的被动信息搜集
Apr 29 #Python
Python基础之元类详解
Apr 29 #Python
You might like
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
JavaScript中的this实例分析
2011/04/28 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python实现的二维码生成小软件
2014/07/11 Python
python连接MySQL数据库实例分析
2015/05/12 Python
python 图像平移和旋转的实例
2019/01/10 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
Python基础知识点 初识Python.md
2019/05/14 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
初中生评语大全
2014/04/24 职场文书
创先争优个人承诺书
2014/08/30 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
八年级英语教学计划
2015/01/23 职场文书
单位介绍信格式
2015/01/31 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
ant design vue的form表单取值方法
2022/06/01 Vue.js