如何使用Python列表综合来加载sqlite表



我是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)

====红色

instReading为序列。

....execute(..., instReading)

最新更新