Python import XML intro SQLITE (xmltodict) -


i'm trying parse xml file , import sqlite database.

the xml looks this:

<resultset>     <row>         <column name="pct_lucru">unit name</column>         <column name="cod_comercial">00032749</column>         <column name="denumire_med">stuff name</column>         <column name="producator">fabri</column>         <column name="tip_produs">koops</column>         <column name="tva">24.000000</column>         <column name="umc">1</column>         <column name="furnizor">furnizori diversi</column>         <column name="data_expirarii">2015-12-31</column>         <column name="lot">80063</column>         <column name="cant_fl">1</column>         <column name="fractie">0</column>         <column name="cantitate">1</column>         <column name="pret_intr">62.930000</column>         <column name="val_intr">62.930000</column>         <column name="pret_fl">82.720000</column>         <column name="valoare">82.720000</column>     </row> </resultset> 

and have following python code

import xmltodict import sqlite3  conn = sqlite3.connect("test.sqlite") c = conn.cursor()  open("export.xml") fd:     obj = xmltodict.parse(fd.read())  row in obj["resultset"]["row"]:     column in row["column"]:         c.execute("insert stocks ? values '?'", [column["@name"], column["#text"]])     print "item inserted \n" 

which produces following error

traceback (most recent call last):         file "dbimport.py", line 12, in <module>             c.execute("insert stocks ? values '?'", [column["@name"], column["#text"]]) sqlite3.operationalerror: near "?": syntax error 

what doing wrong here? i've used method before , worked fine, albeit not xml files.

the ? can used values, not column names. this

insert stocks ? values '?' 

is not valid. must use

insert stocks (columnname) values (?) 

note missing quotes around ?. in code:

c.execute("insert stocks ({}) values (?)".format(column["@name"]), column["#text"]) 

Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -