圖表網址: https://libraryseat.herokuapp.com/

試算表網址: https://docs.google.com/spreadsheets/d/1KDHK-v3Yp38k1jf5xOff-9JJKq4b59HCdZBtrKKMhYE/edit#gid=0

心得

2018年也曾做過一樣的東西,當時是使用Google Cloud Platform裝MariaDB存資料,並且以Google Chart顯示出來,每五分鐘寫入當日CSV,為了保險將年、日、時、分都分開儲存,零點會自動開新excel。

GCP內的文件
Google Cloud Platform 虛擬機內部文件清單
2018年版本儲存內容

從上圖可以得知存了一堆沒用的座位總數159,而且年月日在當日表格重複出現沒有意義。當時在準備研究所考試,一邊寫i-sharing自動刷雪鈴程式,沒心力去花時間修改(其實是懶惰)。使用試算表當資料庫的想法從當初就一直有,但那時是很討厭嘗試學新方法的。

用了一段時間,覺得沾沾自喜,某天突然開始發覺Server偶爾會當機,想到的解決方法就是加大虛擬機容量,GCP有一年200美元試用額度,就死馬當活馬醫。但畢竟只有我自己在使用,也怕放置到某天會被收取高額費用,於是又默默調回免費的微型方案。當伺服器當機發現了再去重開,日復一日這樣做…

今年十月中i-sharing活動又浮出是我重新製作本程式的主要動機,倒是搶雪鈴評估效益沒打算繼續去搶免費麵包(咖啡手動就很好取得)。本次依舊是延續18年的讀取方法,但改用Google Sheet API存資料,刪減冗贅儲存格,從Google Chart改用Plotly Express及Dash,學習使用Python運行Flask部署到Heroku。查詢的資料真的很多,不斷撞牆碰壁總算是有稍微滿意的結果。

因為Heroku的休眠機制,通常第一次開網頁會跑近一分鐘,原先有想作更複雜的控制台功能,但礙於人懶以及台電考試快到了,等明年吧!(笑)

程式碼礙於有金鑰內容無法公開Orz

參考資料

[1] https://towardsdatascience.com/accessing-google-spreadsheet-data-using-python-90a5bc214fd2

[2] https://shian420.pixnet.net/blog/post/349631089-%5Bpython%5D-%E4%B8%B2%E6%8E%A5-google-sheet-api

[3] https://medium.com/nine9devtw/google-sheet-with-python-1-21268dd68773

[4] https://developers.google.com/sheets/api/quickstart/python?authuser=2

[5] https://missterhao.me/2019/01/05/python-google-sheet-crud2/

[6] https://feiyang233.club/post/google-api/

[7] https://askubuntu.com/questions/56683/where-is-the-cron-crontab-log

[8] https://www.siteyaar.com/google-cloud-ftp-and-sftp-setup/#wgppk

[9] https://plot.ly/python/filled-area-plots/

[10] https://medium.com/@ricebug020/%E4%BD%BF%E7%94%A8-google-sheet-%E7%95%B6%E4%BD%9C%E8%B3%87%E6%96%99%E4%BE%86%E6%BA%90%E7%9A%84-php-%E5%AF%A6%E4%BD%9C-b4ae35500826

[11] https://plot.ly/python/line-charts/

[12] https://help.plot.ly/zoom-pan-hover-controls/

[13] https://dash.plot.ly/

[14] https://github.com/maxtillberg/dash-px

[15] https://xiaosean.github.io/server/2018-04-11-Flask_Heroku/

最後修改日期: 2019 年 12 月 2 日

作者