将 python 列表存储到数据库的最佳方法?
将 python 数字列表(例如 [4, 7, 10, 39, 91])存储到数据库的最佳方法是什么?我使用 Pyramid 框架和 SQLAlchemy 与数据库进行通信。
谢谢!
What would be the best way of storing a python list of numbers (such as [4, 7, 10, 39, 91]) to a database? I am using the Pyramid framework with SQLAlchemy to communicate to a database.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 json 将数组保存在数据库中作为字符串:
也可以考虑使用 cjson 以获得更好的性能, anyjson 获得更好的性能后备措施。
You can use json to save your arrays in db as stings:
also consider using cjson for better performances and anyjson for nice fallbacks.
从概念上讲,您可以使用一对多关系将列表存储为表中的一堆行,或者您可以专注于如何在特定数据库后端存储列表。例如,postgres 可以使用 sqlalchemy.dialects.postgres.ARRAY 数据类型将数组存储在特定单元格中,该数据类型可以将 python 数组序列化为 postgres 数组列。
Well conceptually you can store a list as a bunch of rows in a table using a one-to-many relation, or you can focus on how to store a list in a particular database backend. For example postgres can store an array in a particular cell using the sqlalchemy.dialects.postgres.ARRAY data type which can serialize a python array into a postgres array column.
使用字符串(Varchar)。
来自 Python 之禅:“简单胜于复杂。”
Use string(Varchar).
From Zen of Python: "Simple is better than complex."
sqlalchemy.types.PickleType 可以存储列表
sqlalchemy.types.PickleType can store list