為了減輕編輯的工作,某種情況下**上可能用會到csv格式的檔案進行資料匯入,但一般**除了有上傳檔案大小限制以外,還有就是php指令碼語言讀取檔案到記憶體一些以及寫入到mysql中會超過最大範圍。因此只考慮到用分割檔案來實現。(當然偷懶就沒有用到其他工具匯入的方式了)
1.轉換csv檔案的到對應的編碼。這個很多任務具都可以做到。
2.在linux下分割檔案:(表示按5000行分檔案)
# split -l 5000 ../user.csv -d -a 4 user_
3.在每個小檔案第一行前插入csv欄位(-e表示使用正則,1i表示第一行之前,後面的-i是)# sed -e "1i 使用者號碼,使用者姓名,使用者星級,客戶經理姓名" -i *
(或者)
# sed -i "1i 使用者號碼,使用者姓名,使用者星級,客戶經理姓名" *
4.為分割後的檔案批量增加副檔名
for i in *
do mv $i $i".csv"
done
5.打包分割檔案,由於我需要將這些csv檔案拿回來到windows環境下。
# tar czvf csv.tar.gz csv
6.完成。
linux 分割大檔案
你曾經是否想要把乙個大檔案分割成多個小檔案?比如乙個5gb日誌檔案,我們需要把它分成多個小檔案,這樣我們才有可能使用普通的文字編輯器讀取它。有時我們需要傳輸20gb的大檔案到另一台伺服器,這就需要我們把它分割成多個檔案,這樣便於傳輸資料。下面我們來通過五個例項來講解它。split命令分割檔案成每個檔...
分割大 csv檔案
做推薦系統研究時,需要處理乙個包含10億條使用者資料的10g 的大csv檔案,直接用pandas讀取,記憶體不夠載入全部資料。想先對大檔案進行分割處理後,再逐個檔案處理。將csv檔案按條目 行 數量進行分割為若干小檔案,儲存在待分割路徑資料夾下。import pandas as pd from pa...
linux 大檔案分割 split
1,split b 100m d a 3 test.log small test log 結果 small test log 001 small test log 002 small test log 003 每個檔案的大小為100mb 2,split b 100m test.log small t...