還在複製+貼上?這才是合併多個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
- 數據分析系列1:談談數據分析的眾多Title
- 數據分析系列2:數據分析的一週工作日程
- 數據分析系列3:身為資料分析師,你該如何展現工作中的價值?
- 數據分析系列4:如何量化職場規劃?我這次的轉職規劃與Offer選擇
- 數據分析系列5:為什麼要關心資料來源?談談埋點數據的陷阱
- 數據分析系列6:精選幾個機器學習的學習資源
- 數據分析系列7:數位化決策轉型與企業文化的一些思考
- 數據分析系列8:中山大學經濟所職涯座談(ㄧ):”了解自己”的重要&我怎麼成為數據分析師
- 數據分析系列9:中山大學經濟所職涯座談(二):想從事資料分析?你需要具備這8個能力
- 數據分析系列10:中山大學經濟所職涯座談(三) :讓資料變商機 — 資料分析在我們生活中的應用
- 數據分析系列11:面試時,資料分析師該怎麼準備作品集?
- 數據分析系列12:2018年終工作總結(數據分析師)
- 數據分析系列13:數據化運營中玩過的分析項目:一個數據分析師的經驗總結
- 數據分析系列14:如何提升運營/產品的優化效率?或許數據指標體系的搭建可以幫到忙
- 數據分析系列15:用戶畫像很重要,那你知道是怎麼畫出來的嗎?
- 數據分析系列16:給剛入行的數據分析師:想產生價值,在試用期要做的三件事
- 數據分析系列17:2019 數據分析工作總結_關鍵詞:數倉構建、BI可視化看板、用戶畫像(標籤)與精準行銷
- 數據分析系列18:入門數據分析的第一個大門檻:SQL/Hive取數-聊聊自身學習SQL的經歷以及三個自學網站分享
- 數據分析系列19:身為數據分析師,我怎麼看hahow上”R語言和商業分析”這門課
- 數據分析系列20:直接用SQL來分析數據?怎麼沒用python/R?3個面向來考量分析工具的選擇
- 數據分析系列21:數據分析的”橫向”學習之路-珍藏的網上文章重新整理放上github
- 數據分析系列22:透過埋點,讓數據說話:埋點基本知識
- 數據分析系列23:以數據為核心的CRM進化產品:帶你了解CDP(客戶數據平台)開發過程與難點
- 數據分析系列24:SQL不難啊,為什麼不容易精通?自學與實務的4個落差
- 數據分析系列25:數據分析基本-相關分析與可視化(R語言)
- 數據分析系列26:刷完了Leetcode SQL Hard Level的28道題:歡迎領取參考答案
- 數據分析系列27:數據太髒了!3個步驟做好數據質量管理
- 數據分析系列28:跨部門溝通成本太高?數據人實現高效跨部門溝通的4個方式
- 數據分析系列29:數據分析師職場發展的另類出路
- 數據分析系列30:Databrick為何收購BI產品Redash?產品視角來看Redash的功能與價值
- 數據分析系列31:數據分析師要失業了?解讀<2022 Gartner BI魔力象限> BI產品趨勢
- 數據分析系列32:Google Data Catalog如何幫忙管理數據? 產品介紹與體驗心得
- 數據分析系列33:復盤:數據產品從0到1的建設過程,我的9點感觸
- 數據分析系列34:Shopline-數據分析中心(Shoplytics)產品體驗
- 數據分析系列35:搞數據還是做產品?淺談『數據產品經理』