我正在尝试使用executemany()通过python将数据提交到Sqlite db。我正在从 JSON 文件中读取数据,然后将其放入数据库中。我的问题是 JSON 创建不受我的控制,并且取决于我从谁那里获取文件,值的顺序每次都不相同。键是正确的,因此它们与数据库中的键相关,但我不能只是在 executemany() 函数中抛出值,并且每次都让数据出现在正确的列中。
这是我需要做的。
keyTuple = (name, address, telephone)
listOfTuples = [(name1, address1, telephone1),
(name2, address2, telephone2),
(...)]
cur.executemany("INSERT INTO myTable(?,?,?)", keysTuple"
"VALUES(?,?,?)", listOfTuples)
我遇到的问题是一些 JSON 文件的顺序是“姓名、电话、地址”或其他顺序。我需要能够将我的 keysTuple 输入到命令的 INSERT 部分,这样无论 JSON 文件以什么顺序进入,我都可以保持我的关系正常,而不必完全重建 listOfTuples。我知道必须有一种方法,但我所写的内容与 INSERT 部分的正确语法不匹配。VALUES 行工作得很好,它使用 listofTuples 中的每个元素。
对不起,如果我没有用正确的措辞询问。FNG在这里,这是我的第一篇文章。我浏览了整个网络,但它只产生了使用的例子?在 VALUE 部分,从不在 INSERT INTO 部分。