iInfo 資訊交流: Google Spreadsheet 操作 --- Google 視覺化API查詢語言,簡易版操作

最新消息

[公告2014/05/30] 如有需要將部落格中,任何一篇文章的程式碼使用在商業用途,請與我聯繫。

[公告2015/04/26] Line版的 iInfo程式與投資應用 群組已上線想加入的朋友們,請先查看 "入群須知" 再與我聯繫 Line : aminwhite5168,加入請告知身分與回答 "入群須知" 的問題。

[公告2017/02/20] 近來有網友詢問 MultiCharts 與 Excel 畫冰火能量圖 (8)MultiCharts 與Excel 畫冰火能量圖(11) --- 更名「台股儀表板」 文章中教學檔案取得方式,有興趣的朋友可透過 Line了解詳情 (請勿以為是免費分享),Line : aminwhite5168。

[公告2018/04/22] 台北 Python + Excel VBA 金融資訊爬蟲課程,於 7/21、7/22 兩天開課,課程如網頁內容 金融資訊爬蟲班:台北班 Python 金融資訊爬蟲、EXCEL VBA 金融資訊爬蟲,5/30 前早鳥優惠票,請盡快把握機會,歡迎券商、大專院校邀約講座。

[公告2018/06/01] 台指能量儀表板教學課程,課程如網頁內容 台北班:台指能量儀表板

2017年3月6日 星期一

Google Spreadsheet 操作 --- Google 視覺化API查詢語言,簡易版操作

Google 視覺化API查詢語言 (Google Visualization API Query Language) 是用簡單方式就可以查詢Google Spreadsheet,這裡用簡易的方式透過URL輕鬆取得指定 Google Spreadsheet 內的資料,該方法位於Google官方網站上提供,所以有的資源可能不多,如有其他方法歡迎各位朋友提供。
以下就來藉由在Google雲端硬碟的資料檔試算表來介紹相關操作。

在URL的/d/ ~ /edit/ 之間取得該試算表的Spreadsheet id與gid資訊,這兩個ID在後操作非常重要。


使用以下URL的內容,帶入上述2個ID就可以來進行存取Google Spreadsheet資料的動作。
https://spreadsheets.google.com/tq
?tqx=out:html
&tq=SQL語法
&key=Spreadsheet id
&gid=試算表id
介紹如下:
Json檔輸出。
https://spreadsheets.google.com/tq?key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0
預設下載檔案名稱為json.txt,檔案格式為json。
或使用
https://spreadsheets.google.com/tq?tqx=out:json&key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0

CSV檔輸出。
https://spreadsheets.google.com/tq?tqx=out:csv&key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0
預設下載檔案名稱為data.csv。

HTML檔輸出。
https://spreadsheets.google.com/tq?tqx=out:html&key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0

我們也可以Google Spreadsheet 當成一個小型的資料庫,透過SQL語法來輸出,參考以下的說明。
1. 只顯示C、E、F、G、H欄位輸出。
https://docs.google.com/spreadsheets/d/1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY/gviz/tq?tqx=out:html&tq=select+C,E,F,G,H&gid=0

2. 計算每科的平均。
https://spreadsheets.google.com/tq?tqx=out:html&tq=select AVG(E),AVG(F),AVG(G),AVG(H)&key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0

3. 選擇性別為女性的所有資料,Select * where (D contains '女')。
https://spreadsheets.google.com/tq?tqx=out:html&tq=select+%2A+where+%28D+contains+%27%E5%A5%B3%27%29&key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0

PS:由於要指定性別為女性,就是以中文字 "女" 進行過濾篩選,因此要對 "女" 字進行URL編碼,可透過以下網路上提供的免費編碼進行處理,相關內容可參考 Query Language Reference 。
4. 計算總分排名,Select C,(E+F+G+H) ORDER BY E+F+G+H DESC。
https://spreadsheets.google.com/tq?tqx=out:html&tq=Select+C%2C%28E%2BF%2BG%2BH%29+ORDER+BY+E%2BF%2BG%2BH+DESC&key=1iUwjMswIKeUcjbHzIhkFVajnwydNM_YeWFM5EG4hqqY&gid=0

以上的操作筆者主要應用在 Excel 與 MultiCharts,各位讀者也可自行組合變化,相信可以做出更多不同的應用。

如果要讓外部程式可以讀取需要將檔案設定為共用。
Ste1. 檔案共用情況確認。

Step2. 滑鼠右鍵,選擇共用。

Step 3. 點選完成按鈕。

Step 4. 再次確認是否出現群組共用圖案。

由以上的設定後,外部程式才能讀到,這點要特別注意。

參考資料: