大數據前置程式設計
Programming for Big Data Preprocessing

有很多現成的工具可以幫助社會科學學者分析大數據、 從事資料科學研究。 但是學者手邊可能有許多不同來源、 不同格式的各種資料, 必須先經過萃取、 轉檔、 合併等等繁瑣處理, 然後才能餵給大數據分析軟體。 本課程的目的在於協助學者進行這段前置處理。 修課者不需要有任何程式設計基礎, 但必須不害怕命令列 -- 因為指令就是最簡單的 「一句話程式」。

Regular Expressions 是處理各種文字檔的絕佳工具。 學會二三十個符號, 就能夠從各種文字檔當中精確地萃取出實驗所需的欄位, 或是把網頁表格與試算表互轉等等。

分析資料的過程當中, 經常需要用到網頁爬蟲來大量蒐括並分析網頁。 Shell script 加上一點點 querypath 便能夠完成絕大多數的爬蟲任務。

Json 檔案格式則是網頁、 資料科學等等領域都很常見到的結構化格式。 命令列工具 jq 讓處理 json 變得相對簡單。

大數據工具處理完所產生的圖表如果不符合我們的需求, 還可以改從 (csv/txt/json) 資料檔以程式的方式加工, 再由 graphviz 來批次產生相關圖/流程圖。

有了前面的基礎, 課程後半段便可以順利地介紹 perl 程式語言。 Perl 原先的設計就是為了處理報表等等文字資料; 後來演變成一個通用的程式語言, 卻仍保有 「Make easy things easy and hard things possible」 的誘人特性。

  1. 一句話系列: 手工試算表合併
  2. 一句話系列: pipe 與 backquote
  3. 一句話系列: regular expressions (1)
  4. 一句話系列: regular expressions (2)
  5. 網路爬蟲: bash 迴圈
  6. 網路爬蟲: 用 querypath 分析網頁
  7. json 檔案格式與 jq
  8. grapviz 產生相關圖/流程圖
  9. Perl 文字檔過濾器骨架
  10. Perl 命令列選項處理
  11. Perl 讀檔與存檔
  12. Perl 的資料結構 (1)
  13. Perl 的資料結構 (2)
  14. Perl 與 json
  15. Perl 函數 (1)
  16. Perl 函數 (2)
  17. 綜合應用範例 (1)
  18. 綜合應用範例 (2)