計測器の読み取り値を含む XML パーサーからのデータがあります。データのサンプルを以下に示します。
cimReading = [['2012-08-15 10:05:13.101485', ['0x46'], ['0x32'], ['1.234'], ['5.678'], ['9.123'],
['4.567'], ['0x98'], ['0x97']],
['2012-08-15 10:05:13.101979', ['0x47'], ['0x33'], ['8.901'], ['2.345'], ['6.789'],
['0.123'], ['0x96'], ['0x95']]]
cim76_dmt
リスト項目をループして、以前に Python で定義されていたテーブルに配置しようとしていますsqlite3
。これを行うために使用しているコードは次のとおりです。
for devList in cimReading:
print devList
cim76TabPopulate.execute('INSERT INTO cim76_dmt VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
devList)
BenchDB.commit()
cim76TabPopulate.close()
実行時に受け取るエラーメッセージは次のとおりです。
['2012-08-15 10:40:21.110140', ['0x46'], ['0x32'], ['1.234'], ['5.678'], ['9.123'], ['4.567'], ['0x98'], ['0x97']]
EXCEPTION...
(<class 'sqlite3.InterfaceError'>, InterfaceError('Error binding parameter 1 - probably unsupported type.',), <traceback object at 0x1007a7518>)
そのため、リスト項目を SQL テーブル フィールドにマッピングする際に問題が発生しています。これを行う方法があるはずだと思いますが、別の可能性として、XML 解析を微調整して、レコードごとに複数の文字列の単一のリストを生成することもできます。これに関する提案やアドバイスをいただければ幸いです。
前もって感謝します!