Python导入XML intro SQLITE(xmltodict)

2024-09-22 16:28:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析一个XML文件并将其导入到SQLITE数据库中。在

XML如下所示:

<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>

我有下面的python代码

^{pr2}$

会产生以下错误

Traceback (most recent call last):
        File "dbimport.py", line 12, in <module>
            c.execute("INSERT INTO stocks ? VALUES '?'", [column["@name"], column["#text"]])
sqlite3.OperationalError: near "?": syntax error

我做错什么了?我以前用过这种方法,它工作得很好,尽管它不适用于XML文件。在


Tags: 文件name数据库sqliteunitcolumnxmlcod
1条回答
网友
1楼 · 发布于 2024-09-22 16:28:45

?只能用于值,不能用于列名。这个

INSERT INTO stocks ? VALUES '?'

无效。你必须使用

^{pr2}$

请注意?周围缺少的引号。代码:

c.execute("INSERT INTO stocks ({}) VALUES (?)".format(column["@name"]), column["#text"])

相关问题 更多 >