[JavaScript] 將 CSV 檔案轉換成 JSON 資料

我們在拿到客戶提供的資料的時候常常會拿到 excel 檔案(這算幸福的)
至少我們可以簡單的利用一些軟體轉成 csv丟進資料庫裡處理。如果搭配個後端 API 基本上資料都不會是太大的問題可以做成 JSON 供 JavaScript 使用,但是如果在沒有後端或是資料庫的環境中呢?


首先我們先把 csv 檔案放到 server上 利用 $.get() 取得內容,接著將內容String 丟進我們待會會用到的 csvJSON 外掛 function 中。就會取得 JSON
但是這個時候的 JSON 還是 String 的形態所以還無法被解析,我們再加個 JSON.parse() 就可以拿到整個 JSON 物件摟!


function 來源:
https://gist.github.com/iwek/7154578

Linux的排程工作 cron

有些時候我們會需要linux幫我們定時的去處理一些循環要做的事情,例如清掉log檔案啦~備份啦~~之類的瑣事。
如果說都要人工去處理,通常一定都會忘記,所以我們要建立排程工作讓系統自動執行。
在linux上的排程工作是一個叫做cron的服務通常系統會預先開啟。不過我們也可以手動先去開啟
service crond start

不過一開始這個東西你執行了也沒用,因為這個服務他會每分鐘查找一個叫做crontab的檔案這個檔案就是用來記錄要執行動作的時間和動作
要編輯這個檔案你只要執行這個指令
crontab -e
他就會進入vi的模式中讓你進行編輯(一開始當然會是空空的),每一行就代表一件你要處理的排程工作,格式如下:
分 時 日 月 週 指令
就這麼簡單的格式,他最小的單位可以支援到每分鐘執行,就如同剛剛提到的因為他每分鐘會查一次這個檔案瞜!
要注意的是,每個欄位都是必填的,假設你要讓這個指令在每小時的20分都執行一次你就輸入成:
20 * * * * 動作
我習慣倒著看這張表:他的意思就是執行動作在每個小時的20分,*這個符號代表通用所以如果你要做到每分鐘都執行一次的話就會變成* * * * * 動作
或者你可以用半型逗號(,)來設定一個欄位執行多次
0,10,20,30,40,50 * * * * 動作
上面這段就會讓系統變成每十分鐘執行一次,如果你的週期間隔時間固定你也可以寫成
*/10 * * * * 動作
其中斜線(/)的意思就是作為間隔時間的設定,當我們都編輯完成後在vi中儲存就完成編輯的動作了。
不過就如同其他的系統服務,在修改過後請記得重新啟動這樣設定檔才會馬上被套用
service crond restart

留言

這個網誌中的熱門文章

利用 google MAP API 取得座標之間的距離

JavaScript 將 Array 和 Object 轉成 JSON

讓 PHP 接收 post 的 json 資料