教你怎么用Python處理excel實現(xiàn)自動化辦公
一、介紹
實現(xiàn)的是把某個文件夾下的所有文件名提取出來,放入一個列表,在與excel中的某列進行對比,如果一致的話,對另一列進行操作,比如我們在統(tǒng)計人員活動情況的時候,對參加的人需要進行記錄。
二、步驟
代統(tǒng)計名單
比如下面這個目錄是參與活動的人員名單,每個文件夾為每個人參與活動的相關(guān)資料,有些目錄是很多人一起參與一個活動,這個時候我要把文件遍歷,把名字輸入到一個列表中。
相關(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庫,相關(guān)代碼如下:
# 處理excel表 def progress_excel(name, filepath, col): data1 = pd.DataFrame(pd.read_excel(filepath)) # 這個會直接默認讀取到這個Excel的第一個表單 data = data1.head(70) # 默認讀取前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('活動記錄.xlsx', sheet_name='Sheet1', index=False, header=True)
代碼運行后如下
可以看到,成功處理了我需要他處理的列,并進行時長的統(tǒng)計
三、完整代碼
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行的數(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('活動記錄.xlsx', sheet_name='Sheet1', index=False, header=True) if __name__ == '__main__': path = 'F:\\黨支部\\環(huán)境美化活動' # 要提取文件夾名的路徑 names = Save_name(path) filenames = progress_name(names) # print(filenames) # print(len(filenames)) excelname = 'F:\\黨支部\\活動記錄.xlsx' # 要處理的表 col = '校園環(huán)境美化活動(0.5h)' # 要處理的列 progress_excel(filenames, excelname, col)
到此這篇關(guān)于教你怎么用Python處理excel實現(xiàn)自動化辦公的文章就介紹到這了,更多相關(guān)用Python處理excel實現(xiàn)自動化辦公內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Vscode中jupyter出現(xiàn)kernel dead問題
遇到VSCode中Jupyter Kernel Dead時,可通過Anaconda Prompt安裝ipykernel解決,首先使用jupyter kernelspec list命令查看內(nèi)核,若發(fā)現(xiàn)缺少ipykernel,激活相應虛擬環(huán)境,使用conda install ipykernel命令安裝,操作后,VSCode中Jupyter應能正常運行2024-09-09詳解Python中的format格式化函數(shù)的使用方法
這篇文章主要介紹了詳解Python中的format格式化函數(shù)的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11使用Python進行物聯(lián)網(wǎng)設(shè)備的控制與數(shù)據(jù)收集
Python作為一種高效且易于學習的編程語言,已經(jīng)成為開發(fā)物聯(lián)網(wǎng)應用的首選語言之一,本文將探討如何使用Python進行物聯(lián)網(wǎng)設(shè)備的控制與數(shù)據(jù)收集,并提供相應的代碼示例,需要的朋友可以參考下2024-05-05創(chuàng)建SparkSession和sparkSQL的詳細過程
SparkSession 是 Spark SQL 的入口,Builder 是 SparkSession 的構(gòu)造器。 通過 Builder, 可以添加各種配置,并通過 stop 函數(shù)來停止 SparkSession,本文給大家分享創(chuàng)建SparkSession和sparkSQL的詳細過程,一起看看吧2021-08-08Python中exit、return、sys.exit()等使用實例和區(qū)別
這篇文章主要介紹了Python中exit、return、sys.exit()等使用實例和區(qū)別,本文是一個實際項目中的總結(jié),需要的朋友可以參考下2015-05-05python selenium實現(xiàn)發(fā)送帶附件的郵件代碼實例
這篇文章主要介紹了python selenium實現(xiàn)發(fā)送帶附件的郵件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12