Python:将一列清单插入Mysql

问题描述

我有一个看起来像这样的数据(结果)

a column of lists

我想将数据帧插入到MysqL表(警报)中:

到目前为止我做了什么:

session = Session()

for _,row in results_1.iterrows():
    
    insert_stmt = f"insert into alarm (service) values ({row['service']}) ;"

    session.execute(insert_stmt)

session.commit()
session.close

## insert to MysqL 

DB_import_ref(db_table_name)

这一直在发送错误

check the manual that corresponds to your MysqL server version for the right Syntax to use near '['CS5','BE'])' at line 1")

请问有什么帮助您将列表列插入MysqL吗?

解决方法

您将获得一个列表,在输入之前,该列表已先转换为字符串。

但是您应该看一下Is storing a delimited list in a database column really that bad?,然后重新考虑您的方法

for _,row in results_1.iterrows():

    str1 = ''.join(row['service'])
    
    insert_stmt = f"insert into alarm (service) values ({}) ;".format(str1)

    session.execute(insert_stmt)