Я довольно новичок в программировании (недавно изучил функции) и обнаружил, что переписываю одну и ту же функцию «вставка в таблицу mysql» (ниже) от сценария к сценарию ... главным образом, чтобы просто изменить эти два раздела - (name, insert_ts) &&& VALUES (% s,% s)
Есть ли хороший способ переписать нижеприведенное, чтобы принимать ЛЮБОЕ число значений, основанных на длине кортежа, который содержит значения, а также вставлять заголовки столбцов на основе списка «меток»? ЗНАЧЕНИЯ (% s,% s) и эта часть (имя, вставка_ts)
list_of_tuples = [] #list of records to be inserted.
#take a list of dictionaries - and create a list of tuples in proper format/order
for dict1 in output:
one_list = []
one_list.extend((dict1['name'],dict1['insert_ts']))
list_of_tuples.append(tuple(one_list))
labels = ['name', 'insert_ts']
#db_write accepts table name as str, labels as str, and output as list of tuples
def db_write(table,labels,output):
local_cursor.executemany(""" INSERT INTO my_table
(name,insert_ts) #this is pulled from 'labels'
VALUES (%s, %s) #number of %s comes from len(labels)
"""
, list_of_tuples)
local_db.commit()
local_db.close()
#print 'done posting!'
Или, есть ли лучший способ выполнить то, что я пытаюсь сделать, используя mysqldb?
Спасибо всем заранее!