教你怎么用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 相关文章推荐
详解Django中的form库的使用
Jul 18 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
java中两个byte数组实现合并的示例
May 09 Python
pandas 根据列的值选取所有行的示例
Nov 07 Python
Python中一些深不见底的“坑”
Jun 12 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
关于Kotlin中SAM转换的那些事
Sep 15 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
Python使用tkinter实现小时钟效果
Feb 22 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
php对象在内存中的存在形式分析
2015/02/03 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
用js重建星际争霸
2006/12/22 Javascript
javascript 尚未实现错误解决办法
2008/11/27 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
Python排序算法实例代码
2017/08/10 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
django框架auth模块用法实例详解
2019/12/10 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
Python中的Cookie模块如何使用
2020/06/04 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
应届生.NET方向面试题
2015/05/23 面试题
高中生期末评语大全
2014/01/28 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript
python编写五子棋游戏
2021/05/25 Python
html5调用摄像头实例代码
2021/06/28 HTML / CSS