2015-12-08 3 views
4

У меня есть база данных с именем: test; таблица с именем: cord; строки с именем: id; Икс ; y; г.Python: вставить 2D-массив в таблицу MySQL

Допустим, у меня есть 2d массив так:

asd = [[1.25,2.45,3.65],[2.78,3.59,1.58]......] 

Я хочу, чтобы вставить ASD [0] [0] элемент в х строке, ASD [0] [1] в у строки, ASD [0 ] [2] в z row, asd [1] [0] в x row, asd [1] [1] в y row, asd [1] [2] в z строку и т. Д., Если у меня больше элементов aray.

Мой код до сих пор (я знаю, что функция вставки определяет только х):

import MySQLdb 

# Open database connection 
db = MySQLdb.connect(host="localhost",port= 3307,user="root",passwd="usbw" , db = "test") 

# prepare a cursor object using cursor() method 
cur = db.cursor() 

# Create table as per requirement 
asd = [[1.25,2.45,3.65],[2.78,3.59,1.58]] 
for x in asd: 
cur.execute("INSERT INTO cord(x) VALUES(%s)",x) 
db.commit() 

# disconnect from server 
db.close() 

ответ

2

Вы можете сделать это "на одном дыхании" через executemany():

cur.executemany(""" 
    INSERT INTO 
     cord 
     (x, y, z) 
    VALUES 
     (%s, %s, %s) 
""", asd) 
db.commit() 
+0

OMG она работала :) ти –