還在複製+貼上?這才是合併多個Excel最簡方法 — shell程序的cat指令『秒速』完成

--

準備進行數據分析時,不時會遇到要先把多個excel合併成一份的場景,比如說

  • 分析採購銷售等ERP數據,公司有10家供應商,每個供應商一個表格
  • 分析廣告投放效果,每個年-月一個表格
  • 資料庫查詢出100W筆,但導出限制10W筆,只好分批10張導出

為了要把這些分散的資料統整起來分析,所以第一步就是合併到一張表上。

首先最廣泛的作法就是打開每一個excel,對資料進行control+C+V,10個excel還好,但如果有100個Excel難道要重複C+V 100次嗎?耗費的工作時間大概就是幾小時的重複勞動了。

因此懂的分析工具的朋友,會借助R或Pythone把csv檔案read進去,透過rbind的合併。當然如果遇到上述100個文件的話,那也是一個繁瑣的工作。因此再進階一點,可以寫一個for循環指令,遍歷檔案的文件進行合併。

透過R或python這個寫代碼的方法,已經比複製+貼上大大增加效率了。但對於非專業分析的朋友,還是有一點門檻:

  • 安裝R/python的門檻
  • 忘記set 工作環境setwd(
  • 安裝包的版本可能的失敗

所以有沒有更方便、更快的方法呢?今天介紹透過shell的cat指令,只要幾個字母/符號即可完成上述步驟。

邀請你至Blog閱讀全文:還在複製貼上?這才是合併多個Excel工作表最簡方法,shell程序的cat指令秒速完成

如果你喜歡我的文章,也邀請你訂閱『Rock Data』電子報,支持我持續創作

先瞧瞧cat的說明:

cat 指令是將每個檔案依照順序讀取並把內容送到標準輸出(螢幕)。 例如,鍵入cat filename 可將檔案filename 的內容在螢幕上顯示。 若無給予檔名或是使用引數時,則cat 指令會從標準輸入(鍵盤)讀取資料。 如此可將檔案file1、file2 合併的結果依指定的順序放到檔案file3 中。

步驟零_說明:

假設我有3個csv要合併,分別是bind_01,bind_02,bind_03,我希望他們合併並成為新的檔案,檔案名叫bind_all

步驟一 :把要合併的文件放到同一個資料夾

我在桌面(Desktop)目錄中,創建一個檔案夾,命名為shell_test,並且把bind_01,bind_02,bind_03這三個文件拖進去。

步驟二:打開終端機(terminal):

mac的話在finder中,打開「/應用程式/工具程式」,或是spotlight搜一下就可以找到(在 Mac 上打開或結束「終端機」),開啟後我們就可以在terminal中開始輸入指令了。

Step2.1:指定是在哪個目錄的文件

例如步驟一我說我的文件放在Desktop中,文件名是test_shell,輸入cd ~ +路徑,其中路徑就是圖片紅匡。(注意 cd跟 ~ 中間要空格)

cd ~/Desktop/shell_bind

Step2.2 :double確認一下該路徑有哪些文件

輸入ls 來double確認一下該路徑有哪些文件,是不是我要合併的那些excel(可以不需要此步驟)

Step2.3:輸入cat指令

cat * >  bind_all.csv

其中*符號表示該目錄下所有文件, cat表示合併 ,>表示合併後output的文件。

步驟三:完成了…

當step2.3按下Enter鍵後,再回到檔案夾就可以看到創建的bind_all已經在檔案夾中了

當然如果你只是要合併文件夾中的某幾個csv,也是可以的。例如我只要bind_01,bind_02合併成bind_0102

cat bind_01.csv bind_02.csv > bind_0102.csv

詳細說明可以參閱該文檔:The cat Command

邀請你至Blog閱讀全文:還在複製貼上?這才是合併多個Excel工作表最簡方法,shell程序的cat指令秒速完成

如果你喜歡我的文章,也邀請你訂閱『Rock Data』電子報,支持我持續創作

1. Hello All:主站遷移至👉https://andyrockdata.com/ ,請改至『ROCK DATA』Blog 閱讀新文章完整內容,如果喜歡我的文章,可以訂閱我的電子報(Medium站仍將張貼新文章訊息)2.立即追蹤👉ROCK DATA臉書粉絲頁ROCK DATA IG(@andyrockdata)3.【入門數據分析,掌握HiveSQL取數能力】在hahow上架啦,購買連結👉 http://hahow.in/cr/andyrockhive4. 半佛系鼓掌:原來只要滑鼠一直按著不放就可以一直鼓掌了。那請你按久一點:)有任何想法或感興趣的地方歡迎留言/討論,或者私訊我!5. 往期的數據相關文章可以參考以下link

--

--

邱國欣(Andy Chiu)
邱國欣(Andy Chiu)

Written by 邱國欣(Andy Chiu)

文章內容以數據為主軸,分享工作跟生活的心得與總結,希望我的經歷,可以或多或少幫助到大家。如果你熱愛你所做的事,那麼你肯定會暫時遺忘了時間!「 ROCK DATA | 玩搖滾的數據人 」Blog:https://www.andyrockdata.com

No responses yet