WHO COVID-2019 データを取得するパッケージを作ってみた

no extension

ちょっと思いついて WHO COVID-2019 データを取得するパッケージを作ってみた。

ろくすっぽテストもしてないが,汎用で使えるとも思えないし,まぁいいだろう。

WHO Coronavirus Disease (COVID-19) Dashboard” で公開されている CSV データを取ってくるだけの簡単なお仕事である。

それだけではナニなので,簡単な集計もできるようにした。 たとえば

package main

import (
    "bytes"
    "fmt"
    "io"
    "os"
    "time"

    "github.com/spiegel-im-spiegel/cov19data"
    "github.com/spiegel-im-spiegel/cov19data/client"
    "github.com/spiegel-im-spiegel/cov19data/entity"
    "github.com/spiegel-im-spiegel/cov19data/histogram"
    "github.com/spiegel-im-spiegel/cov19data/values"
)

func main() {
    h, err := cov19data.MakeHistogramWHO(
        client.Default(),
        values.NewPeriod(
            values.NewDate(2020, time.Month(8), 1),
            values.Yesterday(),
        ),
        7, //step by 7 days
        entity.WithCountryCode(values.CC_JP),
        entity.WithRegionCode(values.WPRO),
    )
    if err != nil {
        fmt.Printf("%+v\n", err)
        return
    }

    b, err := histogram.ExportHistCSV(h)
    if err != nil {
        fmt.Printf("%+v\n", err)
        return
    }
    if _, err := io.Copy(os.Stdout, bytes.NewReader(b)); err != nil {
        fmt.Println()
    }
    // Output:
    // Date_from,Date_to,Cases,Deaths
    // 2020-07-28,2020-08-03,8698,16
    // 2020-08-04,2020-08-10,9303,35
    // 2020-08-11,2020-08-17,7677,52
    // 2020-08-18,2020-08-24,6840,82
    // 2020-08-25,2020-08-31,5358,98
    // 2020-09-01,2020-09-07,3991,84
}

てな感じに書けば,8月以降の日本のデータを7日ごとに集計できたりする。

このパッケージで集計したデータを使えば

Confirmed COVID-2019 Cases in Japan
Confirmed COVID-2019 Cases in Japan

なんてなグラフも描ける。

元々は SARS-CoV-2 ウイルス感染の動向をチェックするために,ネットの隅っこで

を作って手作業でチマチマ集計していたのだが,徐々に自動化できるようになったので,データ取得部分を外だしにしてパッケージ化したというわけ。

「とりあえず動いてるからいいか」とあまりテストを書いてないし,設計も雑で如何にもやっつけなコードだけど,よろしかったらどうぞ。

ブックマーク

参考図書

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
丸善出版 2016-06-20
単行本(ソフトカバー)
4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN), 9784621300251 (ISBN)
評価     

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。

reviewed by Spiegel on 2016-07-13 (powered by PA-APIv5)