我有一个有关解决问题的指导的问题。我有一个xml文件,我必须使用脚本语言Python将其填充到数据库系统中(无论它是sqlite还是mysql)。
有人对如何进行有任何想法吗?
我已经尝试使用其他语言通过基于树的方法和sax方法解析xml,但是从Python开始,我不知道从哪里开始。我已经知道如何设计所需的数据库。
另一个问题,仅Python是否可以执行数据库ddl查询?
最佳答案
我建议您研究ElementTree以便将XML文件解析到内存中(解析所有文件,然后将其全部发送到SQL DB,这可能更容易,但是如果文件很大,元素树还可以进行增量操作)-这是其中的一部分标准的Python库作为xml.etree模块。
我建议使用sqlite3(也在标准Python库中)作为首选的关系数据库(如果您有选择的话),再次因为它既方便又容易-底层sqlite嵌入式关系数据库在its own site中也有详细记录。如果您需要有关Python如何连接关系数据库(“DB-API”)的一般教程,那么可以使用here。
一旦您完全了解etree和sqlite3 -并且您不必为任何东西安装(这是它们的魅力之一;-) -您基本上已经准备就绪。 (当然,可以安装SQLite本身(命令行和/或GUI工具),以便您可以查看数据库文件并进行调整,这很不错,例如oXygen或XMLmind等图形XML编辑器可以查看和/或调整XML。 ,但是这两种工具都不是所需要的,与使用Python而非其他语言进行XML解析和SQLite编写完全无关;-)。
是的,您可以很好地从CREATE TABLE
(以及其他任何符合DB-API的Python模块,如果您选择使用其他关系数据库;-)来执行sqlite3
和其他DDL查询。