Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#! /usr/local/bin/python3 import matplotlib.pyplot as plt import matplotlib.dates as mdates import pandas as pd import time import json import twitter import os def readcsv(url): try: df = pd.read_csv(url, parse_dates=[0], thousands=",") print('utf-8:', url) except UnicodeDecodeError: df = pd.read_csv(url, parse_dates=[0], thousands=",", encoding='cp932') print('cp932:', url) return df now = time.strftime('%Y-%m-%d %H:%M:%S %Z', time.localtime()) nowdate = time.strftime('%Y-%m-%d', time.localtime()) # 新規陽性者数の推移(日別) for i in range(60): df2 = readcsv("https://covid19.mhlw.go.jp/public/opendata/newly_confirmed_cases_daily.csv") if pd.Timestamp(df2['Date'].values[-1]).strftime("%Y-%m-%d") >= nowdate: break time.sleep(60) # wait 1 minute if pd.Timestamp(df2['Date'].values[-1]).strftime("%Y-%m-%d") < nowdate: print("Timed out") exit() confirmed = df2['Tokyo'].values[-1] MYURL = "https://okumuralab.org/~okumura/python/COVID-19.html" status = f"今日の東京は{confirmed}人 {MYURL}" print(status) FILE = "/home/okumura/public_html/python/data/COVID-tokyo.csv" with open(FILE, "a") as f: f.write(f"{nowdate},{confirmed}\n") os.system("cd /home/okumura/public_html/python/code && ./COVID-tokyo.py") with open("/home/okumura/.twitter.json") as f: token = json.load(f) api = twitter.Api(consumer_key=token["consumer_key"], consumer_secret=token["consumer_secret"], access_token_key=token["access_token"], access_token_secret=token["access_token_secret"], tweet_mode='extended', sleep_on_rate_limit=True) # ツイート r = api.PostUpdate( status, # ツイート本文 media=[ "/home/okumura/public_html/python/img/COVID-tokyo-a.png", "/home/okumura/public_html/python/img/COVID-tokyo-rt.png" ], latitude=34.7468, longitude=136.5248, # 位置情報 display_coordinates=True # 正確な位置情報にする ) print(f"https://twitter.com/h_okumura/status/{r.id}") os.system("rsync -e 'ssh -p 59224' -auvz /home/okumura/public_html/python/data/COVID-tokyo.csv oku.edu.mie-u.ac.jp:public_html/python/data/") # PCR検査実施人数 # df1 = readcsv("https://www.mhlw.go.jp/content/pcr_tested_daily.csv") df1 = readcsv("https://www.mhlw.go.jp/content/001060467.csv") # 死亡者数(累積) df3 = readcsv("https://covid19.mhlw.go.jp/public/opendata/deaths_cumulative_daily.csv") fig, ax = plt.subplots() fig.text(0.9, 0.89, 'generated: ' + now, horizontalalignment='right') locator = mdates.AutoDateLocator() formatter = mdates.ConciseDateFormatter(locator) ax.clear() ax.xaxis.set_major_locator(locator) ax.xaxis.set_major_formatter(formatter) ax.bar(df1.iloc[:,0], df1.iloc[:,1], width=1) ax.bar(df2['Date'], df2['ALL'], width=1) ax.legend(['Negative', 'Positive'], loc='upper left') fig.savefig('../img/COVID-mhlwopen1.svg', bbox_inches="tight") ax.clear() ax.xaxis.set_major_locator(locator) ax.xaxis.set_major_formatter(formatter) ax.bar(df2['Date'], df2['ALL'], width=1, color='C1') ax.bar(df3['Date'], df3['ALL'].diff(), width=1, color='C3') ax.legend(['Positive', 'Deaths'], loc='upper left') fig.savefig('../img/COVID-mhlwopen2.svg', bbox_inches="tight") ax.clear() ax.xaxis.set_major_locator(locator) ax.xaxis.set_major_formatter(formatter) ax.bar(df3['Date'], df3['ALL'].diff(), width=1, color='C3') ax.legend(['Deaths'], loc='upper left') fig.savefig('../img/COVID-mhlwopen3.svg', bbox_inches="tight")