python:将二维数组插入mysql数据库

pkln4tw6  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(771)
myArray = [['example1','example2'], ['value1','value2']]
arraySize = len(myArray)
try:
for r in range(0,arraySize):
    try:
        cur.execute("INSERT INTO series(title) VALUES (%s)",(myArray[r]))
        conn.commit() 
    except:
        print "Error"
       conn.rollback()

这是我的密码。我想把myarray[r]插入数据库,但程序给了我“错误”信息。如何在一行中插入像(['example1','example2'])这样的所有项。

mitkmikd

mitkmikd1#

您可以尝试将每个项目加入 myArray 在尝试插入它们之前。

myArray = [['example1','example2'], ['value1','value2']]
arraySize = len(myArray)
for r in range(0,arraySize):
    try:
        cur.execute(
              "INSERT INTO series(title) VALUES (%s)",
              (",".join(myArray[r]), ) # Merge the titles with a ,
        )
        conn.commit()
    except:
        print "Error"
       conn.rollback()

这将为您提供以下标题:

"example1,example2"
"value1,value2"
jdgnovmf

jdgnovmf2#

据我所知,这些都是标题,我们可以先将列表展平,然后插入标题 .executemany() . 看看它是多么简洁美丽:

titles = [item for sublist in l for item in myArray]

cur.executemany("""
    INSERT INTO 
        series(title)
    VALUES (%s)""", titles)

cur.commit()

相关问题