将python列表存储到mysql并访问它

时间:2015-08-07 13:47:52

标签: python mysql

如何将python'list'值存储到MySQL中,稍后从普通列表中的同一数据库中访问它?

我尝试将列表存储为varchar类型,并确实存储了它。但是,在从MySQL访问数据时,我无法访问与列表相同的存储值,但它却充当字符串。因此,不再可能使用索引访问列表。是否可以更容易以sets数据类型的形式存储一些数据?我看到MySQL数据类型'set'但我无法从python中使用它。当我尝试将python中的set存储到MySQL中时,会抛出以下错误:'MySQLConverter' object has no attribute '_set_to_mysql'.感谢任何帮助

P.S。我必须在列表中存储图像的坐标以及图像编号。所以,它将采用[1,157,421]

的形式

2 个答案:

答案 0 :(得分:2)

使用类似json的序列化库:

import json

l1 = [1,157,421]
s = json.dumps(l1)
l2 = json.loads(s)

答案 1 :(得分:2)

您使用的是像SQLAlchemy这样的ORM吗?

无论如何,要直接回答您的问题,您可以使用jsonpickle将您的列表转换为字符串并存储该字符串。然后为了得到它,你可以解析它(作为JSON或pickle)并返回列表。

但是,如果您的列表始终是3点坐标,我建议您在表格中单独添加xyz列。如果需要,您可以轻松编写函数以将列表存储在正确的列中,并将列转换为列表。