在Python中按列明智地将列表插入MySQL

时间:2018-12-04 08:43:15

标签: python mysql python-3.x

我有3个列表

list1=[3, 4, 5, 6, 9]
list2=[1, 10, 5, 2, 1]
list3=[5, 53, 26, 11, 5]

如何按列将这些数据插入mysql数据库。每个列表都应存储在列中。我知道使用cursor.executemany(sqlquery,lists)将其逐行存储。请帮助我。

2 个答案:

答案 0 :(得分:2)

您可以使用pandas来做到这一点:

将列表转换为熊猫数据框

In [1644]: df = pd.DataFrame({'list1':list1,'list2':list2,'list3':list3})

In [1645]: df
Out[1645]: 
   list1  list2  list3
0      3      1      5
1      4     10     53
2      5      5     26
3      6      2     11
4      9      1      5

使用to_sql方法写入mysql表

df.to_sql(con=con, name='mytable', if_exists='replace', flavor='mysql')

答案 1 :(得分:1)

如果您只想使用cursor.executemany。因此,您可以通过组合来自同一位置的数据将三个列表转换为一个列表。

list1=[3, 4, 5, 6, 9]
list2=[1, 10, 5, 2, 1]
list3=[5, 53, 26, 11, 5]
print(list(zip(list1,list2,list3)))
# [(3, 1, 5), (4, 10, 53), (5, 5, 26), (6, 2, 11), (9, 1, 5)]