【问题标题】:Python, SQLite3: How to insert a list of integers into a cell in the tablePython,SQLite3:如何将整数列表插入表中的单元格
【发布时间】:2017-11-22 08:20:30
【问题描述】:

我有一个包含 >2000 个项目的整数列表,因此由于 SQL 的 2000 列限制,我无法将每个值拆分为自己的列:

a = [1, 0, 0, 1, 0,....]

还有另一个str值

version = 'dog'

我应该如何编写代码,以便可以将列表按原样输入到单个单元格中,可能是 BLOB 类型的单元格?

import sqlite3 as sql
con = sql.connect('test.db')
cur = con.cursor()
cur.execute("CREATE TABLE tablename(Version TEXT, A BLOB)")
cur.execute("CREATE INDEX Idx_Version ON tablename(Version)")

tuples = tuple([tuple(version, a)])
cur.execute('INSERT INTO tablename VALUES (?, ?)', tuples)

我对 SQL 还很陌生,如果能得到任何帮助,我将不胜感激

【问题讨论】:

  • 列表中的每个值代表相同还是不同的事物?是同质的还是异质的?他们应该在表格中拥有自己的行,而不是自己的列吗?
  • 它们都是True/False1/0on/off类型值吗?您可能可以将其编码为 2000 位整数
  • 列表始终是二进制值的列表。这里我只展示了一行,但有数千行,因此,有数千个相同长度的二进制值列表。表格的每一行都包含一个这样的列表。该列表有 2048 位
  • 我想我可以从列表中创建一个包含 2048 个字符的字符串,然后改用它,@PeterWood?
  • 您可以使用 bytes 并将其存储为 blob。

标签: python list sqlite


【解决方案1】:
>>list1 = [1, 2, 3]
>>string = ''.join([str(e) for e in list1])

>>string
'123'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-20
    • 2014-12-16
    • 2022-01-20
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多