我是Django的新手,我目前的任务是上传一个包含16个字段和超过60000行的xml文件到PostgreSQL的数据库。我使用Django连接到数据库,并能够在数据库中创建一个表。我还使用XML Etree解析xml文件。我在存储我在sql数据库中创建的表中的数据时遇到了麻烦。
这是我用来解析的代码:
import xml.etree.ElementTree as ET
def saveXML2db():
my_file = "C:/Users/Adithyas/myproject/scripts/supplier_lookup.xml"
tree = ET.parse(my_file)
root = tree.getroot()
cols = ["organization", "code", "name"]
rows = []
for i in root:
organization = i.find("organization").text
code = i.find("code").text
name = i.find("name").text
x = rows.append([organization, code, name])
data = """INSERT INTO records(organization,code,name) VALUES(%s,%s,%s)"""
x.save()
saveXML2db()
代码运行时没有任何错误,但我无法将数据存储到SQL数据库的表中。
2条答案
按热度按时间xdnvmnnf1#
所以我找到了我问题的答案,我想和你们分享这个。这是我如何使用Django ORM导入一个xml文件到PostgreSQL数据库:
首先,我创建了一个虚拟环境:在您希望运行项目的文件夹中打开命令提示符
我们虚拟环境就可以使用了,
现在,我们的项目和应用程序都已创建完毕,可以使用了
code . #打开可视代码
现在转到settings.py“projectq”中的www.example.com,并将“myapp”添加到INSTALLED_APPS:
现在,为了将我们的项目连接到PostgreSQL数据库,我们还必须在www.example.com中的DATABASE中进行一些更改settings.py:
将dbsqlite更改为您正在使用的数据库的名称,添加数据库的名称、用户名和密码
现在连接已经建立。我们继续下一步
请访问models.py,在PostgreSQL中创建表来存储xml数据:
如果数据包含空值,最好添加null = True,以避免错误
现在,我们创建的表应该出现在PostgreSQL数据库中
下一步是解析我们的xml文件,并将其导入到我们创建的表中。
在www.example.com中的可视代码中打开终端models.py再次激活虚拟环境
要使用ORM查询:
现在将这些代码添加到交互式控制台:
就是这样。数据现在应该被加载到数据库中了。希望这对你有帮助。
vwhgwdsa2#
你有没有检查过任何python/PostgreSQL的例子?你的代码应该是这样的(未经测试):