将列表,值插入mysql表

时间:2019-09-27 13:34:39

标签: python mysql

我需要将列表和一些值插入表中

我尝试过多次执行,但是没有用。

list1=['a','b','c','d','e',['f','g','h','i']]

query="insert into "+metadata_table_name+"(created_by,Created_on,File_Path,Category,File_name,Fields) values(%s,%s,%s,%s,%s,%s)" # inserting the new record

cursor.executemany(query,list1)

列表应输入到最后一个(文件)列

请帮助我。

谢谢。

1 个答案:

答案 0 :(得分:0)

您必须考虑数据类型。 MySQL是否有适合python嵌套列表的数据类型?我不知道这种类型。 一种可能的解决方案是使用JSON编码并将列表作为字符串存储在MySQL表中。将列表的最后一个元素编码为JSON字符串:

import json


list1=['a','b','c','d','e',['f','g','h','i']]
query_params = list1[0:-1] + [json.dumps(list1[:-1])]
query="insert into "+metadata_table_name+" .(created_by,Created_on,File_Path,Category,File_name,Fields) values(%s,%s,%s,%s,%s,%s)" # inserting the new record
cursor.executemany(query, query_params)

为了以后使用存储的数据,您必须将JSON字符串转换回列表:

fields_list = json.loads(fields_str)