繁体   English   中英

如何正确地将Python“列表列表”映射到SQL表(使用SQLite3构建)?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM