我想很多同學可能經歷過這麼一個問題:某項任務需要搜集N多個人的信息,每個人都填在一張excel表格中最後要發給某一個人匯總.....
這不,這幾天就攤上這麼個差事,一下子要匯總好幾百個人的信息......
大體上,這個表格是這個樣子的:
當然,不是每個人都會乖乖的填到第一行,有時候收上來的表是這樣的,這也就以為這我們需要剔除空行:
我們希望獲得的是這樣的表格:
當要統計的excel表格不多的時候,手動復制粘貼也可以,但是當有上百個文件的時候......手動復制那就純屬把計算機當算盤用瞭......
我們先把要統計的excel扔進同一個文件夾裡,然後用Excel自帶的數據查詢功能,他就在這裡:
然後選擇:來自文件→文件夾
15f75b3b838f56763fdb55268d5856d1
然後經過一陣查詢會自動顯示所有查詢到的excel文件
ff1399577d60c4e1308e7c2966b86469
確認沒問題後,點下面的合並並加載
9a7e6b7157f178b9cab9612c2875bc08
接下來可以預覽每一個excel中文件,當然通常情況下我們隻用看第一個
點擊確定之後就可以將所有表格數據加載到一個新的工作表中(可以勾上跳過出錯文件),如下所示:
表格裡很多無效數據,沒關系,點每一列上面的小箭頭,篩選中去掉空行和其他不需要的內容就行瞭
點擊確定就可以篩選出來瞭:
復制粘貼之後就統計完瞭
另一個方案就是直接用python合並數據,原理上其實一樣,就是讀取文件中所有的excel文件,將指定的內容讀取並按順序輸出(到文件或者到文本)
比如隨隨便便就可以這樣寫:
import os
import openpyxl
path=r'excel文件夾的路徑'
filenames=os.listdir(path)
excel_filenames=[f for f in filenames if '.xlsx' in f] #篩選擴展名
for filename in excel_filenames:#從第四行開始篩選第一個非空行
workbook=openpyxl.load_workbook('excel文件夾的路徑'+filename)
sheet= workbook.worksheets[0]
i=4
cell_0=sheet.cell(row=i,column=2).value
cell_1=sheet.cell(row=i,column=3).value
while(1):
if cell_0==None and (i<8):
cell_0=sheet.cell(row=i+1,column=2).value
cell_1=sheet.cell(row=i+1,column=3).value
i=i+1
elif cell_0!=None:
print(cell_0+"t"+cell_1)#用制表符將結果打印出來,這樣可以直接粘貼到excel統計模板中
break
上一篇
前往理由 (Reason to go):1. 死亡谷國傢公園是除阿拉斯加外最大的國傢公園,幾近深不可測。公園占地面積 330萬英畝/134萬公...