教你怎么用Python处理excel实现自动化办公
作者:涛涛真酷 发布时间:2023-11-05 02:19:50
标签:Python,excel,自动化办公
一、介绍
实现的是把某个文件夹下的所有文件名提取出来,放入一个列表,在与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如下
处理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)
代码运行后如下
可以看到,成功处理了我需要他处理的列,并进行时长的统计
三、完整代码
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)
来源:https://blog.csdn.net/weixin_44570805/article/details/116245964
0
投稿
猜你喜欢
- 1.pytnon的基本数据类型数字类型:整型(int)和浮点型(float)字符串(str)类型:用引号(单双引号都可以)定义一个字符串布尔
- interface {} 可以用于模拟多态xdm 咱们写一个简单的例子,就举动物的例子写一个 Animal 的接口,类似于 jav
- 一开始自学Python的numpy、pandas时候,索引和切片把我都给弄晕了,特别是numpy的切片索引、布尔索引和花式索引,简直就是大乱
- 字符串多级目录取值:比如说:你response接收到的数据是这样的。你现在只需要取到itemstring 这个字段下的值。其他的都不要!思路
- Python画图(线条颜色、大小、线形)先放基础代码,下面讲述效果:import matplotlib.pyplot as pltimpor
- PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍下p
- OR、in和union all 查询效率到底哪个快?网上很多的声音都是说union all 快于 or、in,因为or、in会导致全表扫描,
- PDOStatement::closeCursorPDOStatement::closeCursor — 关闭游标,使语句能再次被执行。(P
- 不知道大家有没发现DWMX中有一个和FW差不多的制作弹出菜单功能?这个功能允许用文字和图片做为主菜单,如果用文字的话要先做虚拟链接。下面简单
- 目录查找算法 -- 简介顺序查找二分查找插值查找斐波那契查找树表查找1、二叉树查找算法。2、平衡查找树之2-3查找树(2-3 Tree)3、
- 前言今天在升级下载Python第三方库的时候特别慢,最后去升级pip的时候竟然还time out了,哇心态炸了。 最后想了一下为什么会这么慢
- 在使用Python做socket编程时,由于需要使用阻塞(默认)的方式来读取数据流,此时对于数据的结束每次都需要自己处理,太麻烦。并且网上也
- 地图服务是指可以提供数据信息的接口,比如说本地搜索/路线规划等,下面小编给大家整理下百度地图API之本地搜索和范围搜索,具体请看下文。地图服
- sql server2005新增加了2大数据类型: 1.大值数据类型 2.xml 1.大值数据类型 Microsoft SQL Server
- 做图像识别的时候需要在图片中画出特定大小和角度的矩形框,自己写了一个函数,给定的输入是图片名称,矩形框的位置坐标,长宽和角度,直接输出画好矩
- Python的集合set原理集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个
- 建立资料表:Step1首先开启phpmyadmin,进入wordpress资料库中,并新增一个wp_gbook的资料表与栏位数目8。Step
- 本文为大家分享了Linux环境下mysql5.6.24自动安装脚本代码,供大家参考,具体内容如下说明:一、本脚本仅供测试使用,若正式环境想要
- 如果你经常使用python开发GUI程序的话,那么就知道,有时你需要很长时间来执行一个任务。当然,如果你使用命令行程序来做的话,你回非常惊讶
- 代码: <input type="text" value="fisker" onclick=&