Bạn cần cung cấp executemany()
một danh sách các hàng. Bạn không cần chia tên và email thành các danh sách riêng biệt, chỉ cần tạo một danh sách với cả hai giá trị trong đó.
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)
Cập nhật:như @JonClements đề cập, nó phải là executemany()
không phải execute()
.