iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
0
自我挑戰組

從爬蟲到架站系列 第 19

Day 18: 從爬蟲到架站-隊伍勝率圖

  • 分享至 

  • xImage
  •  

昨天做好了設置項,那今天要說明的部分就是data的產生。

let date = [];
let data = [];

for(let i = 0; i < date_list.length;i++){
    let date_split = date_list[i].split("/");
    let t = new Date(date_split[0],date_split[1],date_split[2]);
    date.push(t);
}

function generatedata(date, val){
    return {
        name: date.toString(),
        value:[
            date,
            val
        ]
    };
}

for(let i =0 ; i < win_percetage.length; i++){
    data.push(generatedata(date[i],win_percetage[i]));
}

date_list與win_percetage是後端傳來的資料,型態是陣列。

使用Date取得時間,因為date_list中的元素是字串,接著把時間和數值組成一個物件並存在陣列中。

儲存資料

昨天沒講到儲存,今天來講一下,上一次的儲存後來才發現會有覆蓋的問題,這次要把這個問題一次寫好。

def store_team_win(team, win_percetage):
    db = firestore.client()
    doc_ref = db.collection(u'隊伍').document(str(team))
    doc = doc_ref.get()
    if doc.exists and doc.to_dict()['勝率'] != {}:
        doc_ref.update({"勝率": win_percetage})
    else:
        doc_ref.set({"勝率": win_percetage})

def get_team_win(team):
    db = firestore.client()
    doc_ref = db.collection(u'隊伍').document(str(team))
    doc = doc_ref.get()
    if doc.exists:
        return doc.to_dict()
    else:
        return False 

這邊沒用batch是因為只需要四次不太需要~

目前資料庫的樣子

明天把前端的ajax寫好


上一篇
Day 17: 從爬蟲到架站-隊伍勝率
下一篇
Day 19: 從爬蟲到架站-隊伍勝率圖(前端)
系列文
從爬蟲到架站21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言