SQL plusieurs insertions avec Python

Mise à JOUR
Après le passage execute() une liste de lignes que par Nathan de la suggestion, ci-dessous, le code s'exécute plus loin, mais obtient toujours bloqué sur la fonction execute. Le message d'erreur:

    query = query % db.literal(args)
TypeError: not all arguments converted during string formatting

De sorte qu'il ne fonctionne toujours pas. Quelqu'un sait pourquoi il y a une erreur de type maintenant?
MISE À JOUR DE FIN

J'ai une grande liste de liste de diffusion .xls. Je suis à l'aide de python avec xlrd pour récupérer le nom et le courriel de fichier xls dans les deux listes. Maintenant, je veux mettre chaque nom et e-mail dans une base de données mysql. Je suis l'aide de MySQLdb pour cette partie. Évidemment, je ne veux pas faire une instruction insert pour chaque élément de la liste.
Voici ce que j'ai jusqu'à présent.

from xlrd import open_workbook, cellname
import MySQLdb

dbname = 'h4h'
host = 'localhost'
pwd = 'P@ssw0rd'
user = 'root'

book = open_workbook('h4hlist.xls')
sheet = book.sheet_by_index(0)
mailing_list = {}
name_list = []
email_list = []

for row in range(sheet.nrows):
    """name is in the 0th col. email is the 4th col."""
    name = sheet.cell(row, 0).value  
    email =  sheet.cell(row, 4).value
    if name and email:
        mailing_list[name] = email

for n, e in sorted(mailing_list.iteritems()):
    name_list.append(n)
    email_list.append(e)

db = MySQLdb.connect(host=host, user=user, db=dbname, passwd=pwd)
cursor = db.cursor()
cursor.execute("""INSERT INTO mailing_list (name,email) VALUES (%s,%s)""",
              (name_list, email_list))

Le problème lorsque le curseur s'exécute. C'est l'erreur: _mysql_exceptions.OperationalError: (1241, 'Operand should contain 1 column(s)') j'ai essayé de mettre ma requête dans une var au départ, mais ensuite il a juste barfed un message sur le passage d'un tuple à execute().

Ce que je fais mal? Est-ce même possible?

La liste est énorme et j'ai vraiment ne peut pas se permettre de mettre de l'insérer dans une boucle. J'ai regardé avec LOAD DATA INFILE, mais je ne comprends vraiment pas comment format du fichier ou de la requête et mes yeux saignent quand je dois lire MySQL docs. Je sais que je pourrait probablement utiliser certains en ligne xls pour mysql converter, mais c'est un exercice d'apprentissage pour moi. Est-il une meilleure façon de?

N'utilisez pas le % opérateur de construction de requêtes! Suivez Nathan code de plus près.
query = query % db.literal(args) était le message d'erreur pas de mon code. De toute façon Jon fixe mon problème.

OriginalL'auteur noel | 2012-10-22