ちょっと今回は投稿手抜きしますね。お酒も飲んでないので(笑)。
ちなみに前回はココまで出来てます。
SQLをサンプルコードに書き込む
サンプルコードにSQLでデータベースに書き込む箇所を追記してみます。こんな感じで。
import sqlite3 from contextlib import closing ........ with closing(sqlite3.connect(dbname)) as cn: c = cn.cursor() sql = 'INSERT INTO tablename(Date, Temperature, Humidity, Pressure) VALUES (?,?,?,?);' weather = (dt, temp, hum, pres) c.execute(sql, weather) cn.commit() cn.close
実際にはこれをクラス化してしまえば良さそうですわね。def writeDB(dt, temp, hum, pres)
みたいに。
ただ、サンプルも温度・湿度・気圧をクラス化していて、センサーの生値は使えなさそうな数値なので、やっぱり「変換」をしなくてはいけなさそうです。もうちょっと調べてみないと。
並行してPythonのバージョンアップ対応を
ちなみに、サンプルコードはPython2.7対応ということでした。せっかくなのでPython3対応にしようと思っています。 そして、サンプル自体も改造が必要なのである程度めどが付いたら「清書」する必要がありそうですね。清書したものは別途どこかに公開してみようかと。
その他気になって調べたこと
- SQL文(今回はInsert文)の書き方はこの辺のサイトがくわしいです。
- コードのコピペとかしようとしたらこんなエラーが出ました。
詳細はリンク先のほうが詳しいですが、どうやらPythonの3系は行頭インデントの文字コードまできちんと見ていて、Tabとスペース(通常は半角4つ)が同じインデントなのに「違うもの」としてエラー扱いにする、ということらしく。