pythonグラフ作成、日付加工及びSQLite検索時のエラー対処

シェアする

Pocket

先日公開した、pythonを使用した温度及び湿度のグラフ、気圧のグラフのプログラムを作成する際、参考にした記事を載せておきます。

  1. グラフ作成時の参考
  2. 日付の加工
  3. SQLite検索時のエラー対処

1.グラフ作成時の参考

pythonでグラフ作成をする際に参考とした記事です。

グラフ選定に時間がかかりましたが、60爺は、このページを見てやってみようという気になりました。

実際、HTMLを作成して、グラフが出せるものをベースにして、プログラムに取り入れました。うまくいって良かったです。

Rapsberry Piで気温のログ+Google Chartsでグラフ化

前回の記事の中でも言いましたが、60爺から、プログラムを一から作成する皆さんに忠告です。

まず、HTMLで確実にグラフを表示できることを確認しましょう。

その確認が終わった後に、そのHTMLをプログラムに反映する手順を取った方が、早いし確実です。

2.日付の加工

データベースから、100件程度を取り出すための方法をあれこれ考えました。

なかなかうまくいかず、結局、日付をベースに10日前から以降のデータを取り出すことに決定しました。

その際、以下の記事に、日付の取り込み方法や、1日前のデータの設定例があったので助かりました。

日付の加算 減算 timedelta

今回のプログラムでは、次のようにしています。

# 本日の日付を取得
date_format = '%Y-%m-%d %H:%M:%S'
d = datetime.datetime.today()

# 現時点より10日前の日付を取得 
d -= datetime.timedelta(days = 10)
date_string_output = d.strftime(date_format)

3.SQLite検索時のエラー対処

以下のエラーメッセージですが、何言ってんのか、さっぱり分からなくて混乱していたんですけど、このページのおかげであっさり解決しました。

PythonのSQLiteで検索するとIncorrect number of bindings supplied. The current statement uses 1, 10 supplied.と表示される

60爺が混乱した箇所

誤)for row in cursor.execute( select_sql , (date_string_output) ):
正)for row in cursor.execute( select_sql , (date_string_output,) ):

最後に、「,」が必須なんです。記事の中で、こう言っています。

executeの第二引数は、タプルにしないといけません。

項目がひとつのときは、()で囲んだだけではダメです。この記事の著者は、普段、別の言語を書いていると気づくのが遅れると言ってらっしゃいました。

たまにしかプログラムを書かない60爺には重いエラーですね。

このように、過去に出たエラーを、備忘録的に残してくださる皆様のおかげで、非常に助かっています。

感謝!感謝ですね。

スポンサーリンク

シェアする

フォローする