Python 将列表插入到单个sqlite数据库列中

Python 将列表插入到单个sqlite数据库列中,python,python-2.7,sqlite,Python,Python 2.7,Sqlite,我有一个需要插入到单个数据库列中的数据列表。我在尝试执行此操作时遇到以下错误: sqlite3.InterfaceError: Error binding parameter 4 - probably unsupported type. 该参数是一个列表,如下所示: ['\r\n','\n',如果您仍然需要曲线偏移,请告诉我。\n', “\n”、“谢谢”、“\n”、“希瑟”、“----原始邮件------\n”, '发件人:\tAllen,Phillip K.\n','发送日期:\t日期,20

我有一个需要插入到单个数据库列中的数据列表。我在尝试执行此操作时遇到以下错误:

sqlite3.InterfaceError: Error binding parameter 4 - probably unsupported type.
该参数是一个列表,如下所示:

['\r\n','\n',如果您仍然需要曲线偏移,请告诉我。\n',
“\n”、“谢谢”、“\n”、“希瑟”、“----原始邮件------\n”,
'发件人:\tAllen,Phillip K.\n','发送日期:\t日期,2001年12月7日
上午5:14 \n',收件人:\t伦敦,希瑟\n',主题:\t地点:西面位置\n',
“\n”、“Heather\n”、“您是否将文件附加到此电子邮件?\n”,
“\n',”----原始消息------\n',…

(列表继续).

'\n',如果您有任何问题,请告诉我
问题。\n','\n','\n',Heather']

我提取文本文件的一部分,如下所示:

def extract_values(f):
    lines = f.readlines()

    for line_number, line in enumerate(lines):
        if line.startswith("X-FileName:"):
            data = lines[line_number:]  # read from specified line until end of file
            break
我更喜欢将数据原始插入表中,这样就可以像文本文件一样逐行读取和枚举数据。我该怎么做?我应该使用
blob
类型吗?我应该如何以不同的方式提取数据,以便在没有所有制表符和换行代码的情况下按原样插入数据?

您可以使用。它是一个Python模块,用于序列化对象并将其存储在某处。如果您不知道序列化,请阅读它

简言之,您可以将数据对象转换为二进制,通过网络对其进行封送,或将其作为blob存储在数据库中。然后,您可以稍后使用它

在查询中,您可能需要对对象进行pickle处理,将其存储在变量(如
pdata
)中,然后将其放入所需的blob列字段中,如:

cursor.execute("YOUR SQL QUERY", sqlite3.Binary(pdata))

另外,我刚刚看到您的列表包含文本数据,可以将其转换为JSON,这样,您就可以轻松地将指定列表的JSON转储到sqllite3列中

pickle即serialization@AliGajani谢谢,我很难找到一个与sqlite相关的示例,那么我会使用blob列类型吗?如果你想存储一个pickle对象,你需要使用blob,因为它是二进制数据。@AliGajani你能链接到一个示例吗?我可以找到很多将拾取的二进制数据写入文件的示例,但不能写入数据库字段。根本不使用pickle,我不确定它是否可以轻松检索和使用(pickle似乎更好)。这很好。没关系。我是来帮助鲍勃的。这很重要:)我非常感激