合併多個有相同表頭的CSV文件-秒速完成的shell指令
在<還在複製+貼上?這才是合併多個Excel最簡方法 — shell程序的cat指令『秒速』完成>文章中,分享了利用shell的cat語句合併數據表,經過好心網友的提點,該方法忽略了幾個背景:
- 文件必須為csv,Excel文件一般是.xlsx,則需要另存新檔為csv格式
cat
是簡單合併,若合併幾個csv都有表頭的話,也都會合併進去
如果每個csv都有表頭的話又要怎麼處理呢?本文補充分享一個也是滿簡單的寫法。
邀請你至Blog閱讀全文:合併多個相同欄位的CSV文件-秒速完成的shell指令
如果你喜歡我的文章,也邀請你訂閱『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
背景回顧:在Desktop中,有一個shell_bind的文件夾,裡面有3個csv,分別是bind_01 , bind_02 , bind_03, 要合併起來,生成bind_all文件
Step0. 指定文件的目錄
cd ~/Desktop/shell_bind
Step1. 從任意一個csv取出表頭(也就是第一條數據),並寫到要輸出的表(bind_all.csv)
head -n +1 bind_01.csv > bind_all.csv
Step2. bind_01~bind_03這三張表取除了表頭的所有數據(就是除了第一行以下),追加進bind_all.csv
tail -n +2 -q bind_0*.csv >> bind_all.csv
代碼說明:
head -n +1
表示print文件從頭數下來第一行tail -n +2
表示print文件從尾部到第二行-q
表示不要print文件名>>
表示對bind_all追加數據,而>
則是會覆蓋原數據*
表示前一个字符匹配 0 次或任意多次,在這例子中bind_0*.csv
即為bind_01 ,bind_02 ,bind_03
其中-q
是比較容易忽略的,若是沒寫-q
,輸出bind_all會長這樣 :
我們可以用()
把step1 跟step2兩個命令合再一起執行:
( head -n+1 bind_01.csv ; tail -n+2 -q bind_0*.csv ) > bind_all.csv
邀請你至Blog閱讀全文:合併多個相同欄位的CSV文件-秒速完成的shell指令
如果你喜歡我的文章,也邀請你訂閱『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:搞數據還是做產品?淺談『數據產品經理』