sql >> Databasteknik >  >> RDS >> Mysql

SQL multipla infogar med Python

Du måste ge executemany() en lista med rader. Du behöver inte dela upp namnet och e-postmeddelandet i separata listor, skapa bara en lista med båda värdena i den.

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)

Uppdatering:som @JonClements nämner, bör det vara executemany() inte execute() .



  1. Anropa en medlemsfunktion find() på ett icke-objekt när data infogas med PHP mySQL simpleHTMLDOM

  2. Anslut till en mysql-databas via SSH via PHP

  3. Vad är aktuell vy APPL_TOP ögonblicksbilder

  4. 2 funktioner som returnerar månadens namn från ett datum i MySQL