【发布时间】:2020-02-06 19:18:20
【问题描述】:
我想在 mysql 数据库中插入一个嵌套列表。
通常,我们像这样向mysql插入一个列表数据:
list_data = ['Kate', 'apple']
sql = 'INSERT INTO table VALUES ('name', 'likes')'
cursor.execute(sql, list_data)
如果
list_data = ['Kate', ['apple', 'orange', 'banana']]
或
list_data = ['Kate', {'food': 'apple', 'sports': 'running'}]
我该怎么办? (我的意思是将python列表或dict保存为mysql中的字符串。)
【问题讨论】:
-
也许您可以考虑将您的输入扁平化为列表? (想想 CSV 格式)。例如,
list_data = ['Kate', {'food': 'apple', 'sports': 'running'}]的最后一个示例可以转换为input = ["Kate", "apple", "running"],其中列名是Name、Food和Sports -
对于这个例子,我只想使用两列'name'和'likes',并希望整个字典 {'food': 'apple', 'sports': 'running'}在“喜欢”列中。
-
如果将字典作为字符串传递会发生什么;即
list_data = ['Kate', "{'food': 'apple', 'sports': 'running'}"](注意字典周围的引号) -
是的,我现在就是这样做的,而且效果很好。实际上我有很多这种数据要插入,所以我试图找到一种更直接的方法,而不是每次都将它们转换为字符串格式。
标签: python mysql mysql-python