Python自动化办公:利用Pandas与OS库批量处理Excel数据
本文介绍如何使用Python实现自动化办公,通过os库遍历文件夹提取文件名,并结合pandas库读取Excel文件。程序将提取的文件名与Excel中的姓名列进行比对,若匹配则自动更新指定列的数值,适用于活动签到、时长统计等场景,有效减少人工核对工作量。
一、介绍
本方案旨在实现自动化数据处理:首先提取指定文件夹下的所有文件名并存入列表,随后将该列表与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)
到此这篇关于教你怎么用Python处理excel实现自动化办公的文章就介绍到这了,更多相关用Python处理excel实现自动化办公内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













