[英]How do I correctly map a Python “list of lists” into an SQL table (built with SQLite3)?
我的数据来自包含仪器读数的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解析,因此我为每条记录生成一个包含多个字符串的列表。 我欢迎任何关于此的建议或意见。
提前致谢!
您的问题是第一个之后的所有参数都是列表,而不是字符串或整数。 部分赢得错误消息,抱怨unsupported type
抱怨数据元素['0x46']
。
你需要更多地按摩你的数据; 你想将['0x46']
解包为'0x46'
。 这需要对示例数据中单个长度列表中的其他数据元素进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.