教你怎么用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实现360的字符显示界面
Feb 21 Python
跟老齐学Python之编写类之四再论继承
Oct 11 Python
Python实现的ini文件操作类分享
Nov 20 Python
通过C++学习Python
Jan 20 Python
python中list列表的高级函数
May 17 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
Golang与python线程详解及简单实例
Apr 27 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
Jun 14 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
pytorch fine-tune 预训练的模型操作
Jun 03 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
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
js实现单张图片平移切换效果
2017/10/11 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
js实现动态时钟
2020/03/12 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Python SQLite3数据库操作类分享
2014/06/10 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
学习python可以干什么
2019/02/26 Python
python实现局域网内实时通信代码
2019/12/22 Python
python如何保存文本文件
2020/06/07 Python
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
某科技软件测试面试题
2013/05/19 面试题
办理退休介绍信
2014/01/09 职场文书
韩国商务邀请函
2014/01/14 职场文书
企业安全生产标语
2014/06/06 职场文书
模具专业求职信
2014/06/26 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS