gpt4 book ai didi

python - 如何通过 XML 数据更快地更新 MySQL?

转载 作者:行者123 更新时间:2023-11-29 01:55:44 24 4
gpt4 key购买 nike

XMl 有 5000 条 'product' 记录,MySQL 中的表有 6000 条 'product' 记录,并不是所有的 xml 记录在数据库中都有对应的记录。我想更快地将数据从 xml 放入 mysql。怎么做?现在完成运行所需的时间是 11 秒。

db = MySQLdb.connect(host="",
user="",
passwd="",
db="")
cur = db.cursor()

DOMTree = minidom.parse(file.xml)
cNodes = DOMTree.childNodes

for i in cNodes[0].getElementsByTagName("product"):
y = i.getElementsByTagName("code")[0].childNodes[0].toxml()
z = i.getElementsByTagName("available")[0].childNodes[0].toxml()

cur.execute("UPDATE product SET stock=%s WHERE ean=%s", (z, y))
db.commit()

最佳答案

Executemany 是您的 friend ,您可以收集所有数据并一次性推送它们,而不是在您的 for 循环中重复执行命令。

data = [
('A', 'blabla'),
('B', 'test1'),
('C', 'test2'),
]
stmt = "UPDATE product SET stock=%s WHERE ean=%s"
cur.executemany(stmt, data)

更多信息在这里: http://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-executemany.html

关于python - 如何通过 XML 数据更快地更新 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29884700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com