如何使用python将多个插入转换为一个插入

我有一个 sql 文件,其中有许多插入 sql 到同一个表: insert into tbname values (xxx1);


insert into tbname values (xxx2);


insert into 

tbname values (xxx3);

...

如何将此文件转换为包含一个 sql 的新文件,例如:


insert into tbname (xxx1),(xxx2),(xxx3)...;

由于上述sql文件中的插入格式不同,在python中很难使用正则表达式。


互换的青春
浏览 118回答 2
2回答

天涯尽头无女友

如果要在表中插入多行使用executemany()方法。   mydb = mysql.connector.connect(      host="localhost",      user="yourusername",      passwd="yourpassword",      database="mydatabase"    )    mycursor = mydb.cursor()    sql = "INSERT INTO tbname VALUES (%s)"    val = [      ('xx1'),      ('xx2'),      ('xx3')    ]    mycursor.executemany(sql, val)    mydb.commit()

胡说叔叔

将文件打开为字符串并使用 split 获取表中的所有值,然后再次获取字符串。就像是:s = "insert into tbname values (val1, val2);insert into tbname values (val3, val4);insert into tbname values (val5, val6);"values = s.replace(";insert into tbname values", ', ')这是一种非正统的方法,但可以在您的情况下将其放入一个插入物中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python