教你怎麼用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)

到此這篇關於教你怎麼用Python處理excel實現自動化辦公的文章就介紹到這瞭,更多相關用Python處理excel實現自動化辦公內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: