教你怎么用Python處理excel實(shí)現(xiàn)自動(dòng)化辦公
一、介紹
實(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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Vscode中jupyter出現(xiàn)kernel dead問(wèn)題
遇到VSCode中Jupyter Kernel Dead時(shí),可通過(guò)Anaconda Prompt安裝ipykernel解決,首先使用jupyter kernelspec list命令查看內(nèi)核,若發(fā)現(xiàn)缺少ipykernel,激活相應(yīng)虛擬環(huán)境,使用conda install ipykernel命令安裝,操作后,VSCode中Jupyter應(yīng)能正常運(yùn)行2024-09-09詳解Python中的format格式化函數(shù)的使用方法
這篇文章主要介紹了詳解Python中的format格式化函數(shù)的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11使用Python進(jìn)行物聯(lián)網(wǎng)設(shè)備的控制與數(shù)據(jù)收集
Python作為一種高效且易于學(xué)習(xí)的編程語(yǔ)言,已經(jīng)成為開發(fā)物聯(lián)網(wǎng)應(yīng)用的首選語(yǔ)言之一,本文將探討如何使用Python進(jìn)行物聯(lián)網(wǎng)設(shè)備的控制與數(shù)據(jù)收集,并提供相應(yīng)的代碼示例,需要的朋友可以參考下2024-05-05在matplotlib中改變figure的布局和大小實(shí)例
這篇文章主要介紹了在matplotlib中改變figure的布局和大小實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04創(chuàng)建SparkSession和sparkSQL的詳細(xì)過(guò)程
SparkSession 是 Spark SQL 的入口,Builder 是 SparkSession 的構(gòu)造器。 通過(guò) Builder, 可以添加各種配置,并通過(guò) stop 函數(shù)來(lái)停止 SparkSession,本文給大家分享創(chuàng)建SparkSession和sparkSQL的詳細(xì)過(guò)程,一起看看吧2021-08-08Python中exit、return、sys.exit()等使用實(shí)例和區(qū)別
這篇文章主要介紹了Python中exit、return、sys.exit()等使用實(shí)例和區(qū)別,本文是一個(gè)實(shí)際項(xiàng)目中的總結(jié),需要的朋友可以參考下2015-05-05python selenium實(shí)現(xiàn)發(fā)送帶附件的郵件代碼實(shí)例
這篇文章主要介紹了python selenium實(shí)現(xiàn)發(fā)送帶附件的郵件代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12安裝python時(shí)MySQLdb報(bào)錯(cuò)的問(wèn)題描述及解決方法
這篇文章主要介紹了安裝python時(shí)MySQLdb報(bào)錯(cuò)的問(wèn)題描述及解決方法,需要的朋友可以參考下2018-03-03