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
Post a Comment