教你怎么用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 相关文章推荐
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
python字符串替换示例
Apr 24 Python
python基于xml parse实现解析cdatasection数据
Sep 30 Python
Python生成不重复随机值的方法
May 11 Python
python基于右递归解决八皇后问题的方法
May 25 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
python 批量修改/替换数据的实例
Jul 25 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
Python创建空列表的字典2种方法详解
Feb 13 Python
Python自动化xpath实现自动抢票抢货
Sep 19 Python
Python QT组件库qtwidgets的使用
Nov 02 Python
python如何利用cv2模块读取显示保存图片
Jun 04 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 数组基础知识小结
2010/08/20 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
pywinauto自动化操作记事本
2019/08/26 Python
Python request使用方法及问题总结
2020/04/26 Python
Python: glob匹配文件的操作
2020/12/11 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
XD健身器材:Kevlar球、Crossfit健身球
2019/03/26 全球购物
员工辞退通知书
2015/04/17 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书