私は SQLite の新人で、Python の初心者です。デモンストレーション アプリケーション用のプロセス機器データを収集しています。私はこのコードを書きました:
from DAQ_Util import *
from sqlite3 import *
print 'Setting up memory-resident SQL database...'
BenchDB = connect(':memory:')
DBTableSetup = BenchDB.cursor()
DBTableSetup.execute("create table ss2000 (timestamp, var1, var2, var3, var4, var5, var6, var7, var8, var9)")
DBTableSetup.close()
# Access data from SS2000 TDL Sensor
instReading = ss2000serialRead('192.168.1.121', 4001, 57)
print instReading
SS2000TabPopulate = BenchDB.cursor()
SS2000TabPopulate.execute("insert into ss2000 values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
[instReading(i) for i in instReading])
print '...Done'
DAQ_Util モジュールは、計測器からプロセス データを取得するためのルーチンのコレクションです。ss2000serialRead
DAQ_Util からのもので、そのような計測器からデータ文字列のリストを取り込みます。一部のデータを以下に転載します。私がやろうとしているのはsqlite
、リスト内包表記を使用してこのデータをテーブルに書き込むことだけです。動作していません。エラーメッセージを解釈する方法がわかりませんが、Python について詳しく知っている人は、すぐにエラーを見つけることができると思います。そう願っています... :o) 画面出力のダンプ次のとおりです。
$ python SQLite-test.py
Setting up memory-resident SQL database...
Try connecting to serial server...
['2012-08-05 16:52:49.548095', '20.0000', '0.0000', '13.5', '76.60', '8190', '1640', '240', '-13', '79.40']
Traceback (most recent call last):
File "SQLite-test.py", line 17, in <module>
[instReading(i) for i in instReading])
TypeError: 'list' object is not callable
$
誰かがエラーを指摘できますか?ありがとう!
Ignacio に感謝します。修正されたコードは次のとおりです。
# Access data from SS2000 TDL Sensor
instReading = ss2000serialRead('192.168.1.121', 4001, 57)
print instReading
SS2000TabPopulate = BenchDB.cursor()
SS2000TabPopulate.execute("insert into ss2000 values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
instReading)
==== 赤