iT邦幫忙

0

Excel --> 每日python jupyter 自動化彙整

若您每日也有份工作,將email收到的Excel
email存檔 --> 打開很多檔案 --> 選取 --> 複製 --> 貼上 --> 合併 --> 存檔

那您可以考慮用python jupyter 自動化彙整
email存檔 --> python --> 結束


# 導入要用到的相關包
import os
import xlrd
import pandas as pd
import numpy as np 
import xlsxwriter
import datetime
#抓所需要合併的xlsx路徑並生成路徑列表的函數
def file_name(file_dir): 
    list=[]   # 構造一個用於存放文件名(包括擴展名)的空列表
    for file in os.listdir(file_dir):              # 遍歷文件夾file_dir下的所有文件
        if os.path.splitext(file)[1] == '.xlsx':   # 篩選出擴展名是.xlsx的所有文件
            list.append(file)                      # 將文件擴展名是.xlsx的所有文件的文件名存放到列表list中  
    return list 
path = '5m/'                                       # 此處是抓與jupyter同一層檔案5m的目錄
wks = file_name(path)                              # 通過file_name函數獲取path路徑下所有xlsx文件的文件名

data = []   #定義一個空列表對象
for i in range(len(wks)):
    read_xlsx = xlrd.open_workbook(path + '\\' + wks[i])   # 根據path和文件名合併每個待合併工作簿的路徑
    sheet1 = read_xlsx.sheets()[1]                         # 找到工作簿中的第2個工作表
    nrow =  sheet1.nrows                                   # 提取出第2個工作表中的數據行數
    title = sheet1.row_values(4)                           # 提取出第2個工作表中的表頭
    for j in range(5,nrow):                                # 逐行將工作表中的數據添加到空列表data中
        data.append(sheet1.row_values(j))

# 將列表data轉化爲DataFrame對象
content= pd.DataFrame(data)

# 修改DataFrame對象的標題
content.columns= title

# 將DataFrame對象content寫入新的Excel工作簿中
content.to_excel('test.xlsx', header=True, index=False)
print('合併完成!')

再來每天只要email存檔 --> python --> 結束

https://ithelp.ithome.com.tw/upload/images/20200603/20127643eROd1gV058.png

  1. 再來excel 每日的剪貼作業,也可自動化喔
  2. 然後如何用python 整合成樞紐報表
  3. 自動化email寄出

1 則留言

1
jbuduoo
iT邦新手 5 級 ‧ 2020-06-03 09:34:25

讚哦!!!

我要留言

立即登入留言