前提:気が向いたら体重をツイートしておく。基本は「XX.X kg」形式。
# -*- coding: utf-8 -*- # import json import re from datetime import datetime #全ツイートファイルを読みこむ with open(r"C:\twitter-2020-03-07/tweet.js", 'r', encoding="utf-8_sig") as f: data = f.read() f.close #jsonに変換 tw = json.loads(data[data.find('[') :]) #出力用csvファイル作成(上書き) with open(r"C:\twitter-2020-03-07/体重.csv", 'w', encoding="utf-8_sig") as h: #全ノードループ for t in tw: #フルテキストの中から体重部分を検索 r = re.search(r'[\d ]+\.[\d ]+kg', t["tweet"]["full_text"]) if r: #見つかったら #日付取得 tweet_datetime = datetime.strptime(t["tweet"]["created_at"], '%a %b %d %H:%M:%S %z %Y') #数字部分抽出 hh = r.group(0)[: len(r.group(0)) - 2] #kgを削除して書き込み h.writelines(tweet_datetime.strftime('%Y/%m/%d') + "," + hh + "," + "\n") h.close
出力
エクセルで簡単にグラフにできる\(^o^)/
参考
PythonでJSONファイル・文字列の読み込み・書き込み | note.nkmk.me
[Python] Python3でTwitterの検索APIを利用する - YoheiM .NET
Twitter
【Python/json】「UnicodeDecodeError: ‘cp932’ codec can’t decode~」エラーの対処方法 | 西住工房
re --- 正規表現操作 — Python 3.9.0 ドキュメント
Pythonで文字列を抽出(位置・文字数、正規表現) | note.nkmk.me
#Twitter Timeline #API で得られる created_at の時刻を元に unixtimestamp 基準で絞り込む #python スクリプトの例 - Qiita
datetime --- 基本的な日付型および時間型 — Python 3.9.0 ドキュメント