Mysql
 sql >> Database >  >> RDS >> Mysql

Provo a mettere alcune informazioni da un file XML a un database SQL usando python

L'errore effettivo è causato da non usando i segnaposto come dovresti .

Inoltre, non vuoi davvero riconnetterti al database in questo modo per ogni elemento. Inoltre, puoi eseguire il commit solo quando tutto è terminato:

connection = mysql.connector.connect(
    host="localhost", user="root", passwd="admin", database="python"
)
cursor = connection.cursor()

for child in root:
    for element in child:
        for subelement in element:
            a = subelement.attrib["currency"]
            b = subelement.text
            result = cursor.execute(
                "INSERT INTO valoare (moneda, flux) VALUES (%s, %s)", (a, b)
            )

connection.commit()