आपको executemany()
देना होगा।
पंक्तियों की एक सूची। आपको अलग-अलग सूचियों में नाम तोड़ने और ईमेल करने की आवश्यकता नहीं है, बस एक सूची बनाएं जिसमें दोनों मान हों।
rows = []
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
rows.append((name, email))
db = MySQLdb.connect(host=host, user=user, db=dbname, passwd=pwd)
cursor = db.cursor()
cursor.executemany("""INSERT INTO mailing_list (name,email) VALUES (%s,%s)""", rows)
अपडेट करें:जैसा कि @JonClements में उल्लेख किया गया है, यह executemany()
होना चाहिए नहीं execute()
।