一、介紹
實(shí)現(xiàn)的是把某個(gè)文件夾下的所有文件名提取出來(lái),放入一個(gè)列表,在與excel中的某列進(jìn)行對(duì)比,如果一致的話,對(duì)另一列進(jìn)行操作,比如我們?cè)诮y(tǒng)計(jì)人員活動(dòng)情況的時(shí)候,對(duì)參加的人需要進(jìn)行記錄。
二、步驟
代統(tǒng)計(jì)名單
比如下面這個(gè)目錄是參與活動(dòng)的人員名單,每個(gè)文件夾為每個(gè)人參與活動(dòng)的相關(guān)資料,有些目錄是很多人一起參與一個(gè)活動(dòng),這個(gè)時(shí)候我要把文件遍歷,把名字輸入到一個(gè)列表中。
相關(guān)代碼如下
# 保存指定目錄下文件名到列表
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庫(kù),相關(guān)代碼如下:
# 處理excel表
def progress_excel(name, filepath, col):
data1 = pd.DataFrame(pd.read_excel(filepath)) # 這個(gè)會(huì)直接默認(rèn)讀取到這個(gè)Excel的第一個(gè)表單
data = data1.head(70) # 默認(rèn)讀取前5行的數(shù)據(jù)
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('活動(dòng)記錄.xlsx', sheet_name='Sheet1', index=False, header=True)
代碼運(yùn)行后如下
可以看到,成功處理了我需要他處理的列,并進(jìn)行時(shí)長(zhǎng)的統(tǒng)計(jì)
三、完整代碼
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)) # 這個(gè)會(huì)直接默認(rèn)讀取到這個(gè)Excel的第一個(gè)表單
data = data1.head(70) # 默認(rèn)讀取前5行的數(shù)據(jù)
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('活動(dòng)記錄.xlsx', sheet_name='Sheet1', index=False, header=True)
if __name__ == '__main__':
path = 'F:\\黨支部\\環(huán)境美化活動(dòng)' # 要提取文件夾名的路徑
names = Save_name(path)
filenames = progress_name(names)
# print(filenames)
# print(len(filenames))
excelname = 'F:\\黨支部\\活動(dòng)記錄.xlsx' # 要處理的表
col = '校園環(huán)境美化活動(dòng)(0.5h)' # 要處理的列
progress_excel(filenames, excelname, col)
到此這篇關(guān)于教你怎么用Python處理excel實(shí)現(xiàn)自動(dòng)化辦公的文章就介紹到這了,更多相關(guān)用Python處理excel實(shí)現(xiàn)自動(dòng)化辦公內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Pytest+request+Allure實(shí)現(xiàn)接口自動(dòng)化框架
- python開發(fā)的自動(dòng)化運(yùn)維工具ansible詳解
- python實(shí)現(xiàn)自動(dòng)化腳本編寫
- Python實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)化eNSP
- python+requests+pytest接口自動(dòng)化的實(shí)現(xiàn)示例
- python 自動(dòng)化偷懶的四個(gè)實(shí)用操作
- 我用Python給班主任寫了一個(gè)自動(dòng)閱卷腳本(附源碼)