上百個數據文件合併,只能手動複製粘貼?教你一招十秒搞定!
在工作中,我經常要做些數據分析,比如找出訂單的日變化趨勢。但在準備數據源的時候,後台導出給我的一個一個的 文件,雖然文件數量不多,但是手動把它們整合成一個文件這種事情,是很費時間且沒有成就感的。
以上圖為例 ,數據集中有 9 個 CSV 文件,每個文件包含一期售賣課程的訂單。但假設你面對的是上百個文件呢?為了更方便地進行分析,我需要將這些文件的數據整合至 1 個 CSV 文件,並且補充上文件名中的課程期數信息。
本文將介紹如何利用 Pandas 來實現上述需求。
讀取文件
首先,我們先學習如何讀取 CSV 文件,並保存在 中。Pandas 提供了兩種方式,支持讀取本地文件和網路文件。
我們的場景是數據集保存在本地磁碟。可以從腳本當前的位置提供文件的相對路徑作為參數,也可以用文件的絕對路徑作為參數。如果數據文件存儲在網路上,則將文件路徑參數替換為文件的 URL 即可。
>>
如果出現中文亂碼,可以試著將 的值改為 或 等中文編碼。
讀取時進行處理
很多情況下,CSV 文件中可能會包含你分析時不需要的數據,或者是文件中的數據不夠規範。Pandas 也提供了對應的處理方案。
上面是 Pandas 官方文檔中顯示的, 方法所接受的所有參數。我們不會全部用到,只介紹本文場景中需要的 、 和 等參數。
指定索引及所需的列
假設我們只需要訂單號、用戶昵稱、購買時間、退款時間這幾列數據即可,並指定訂單號作為索引列,那麼可以傳入 和 參數進行制定。
>>
跳過指定行
假設我們拿到的數據文件不是規範的,比如像下圖這樣從第 3 行開始,才是表格化的數據。
如果直接執行 ,Pandas 會報解析錯誤。
因此在載入這類數據文件時,就需要跳過不規範的部分,比如本例中要跳過前 3 行,從第 4 行開始。我們可以使用 參數。
TAG:編程派 |