使用 python 将数据从 xml 文件填充到 sqlite 数据库

2024-03-17

我有一个与解决问题的一些指南相关的问题。我有一个 xml 文件,我必须使用脚本语言将其填充到数据库系统(无论如何,它可能是 sqlite、mysql)中:Python。

有人知道如何继续吗?

  • 我需要进一步阅读哪些技术?
  • 我必须安装哪些环境?
  • 有关于同一主题的教程吗?

我已经尝试使用其他语言中的基于树和 sax 方法来解析 xml,但是要从 Python 开始,我不知道从哪里开始。我已经知道如何设计我需要的数据库。

另一个问题,Python 是否可以单独执行数据库 ddl 查询?


我建议你学习元素树 http://effbot.org/zone/element-index.htm用于将 XML 文件解析到内存中(解析全部内容,然后将其全部发送到 SQL DB,可能更容易,但如果文件很大,元素树还允许增量操作)——它是标准 Python 库作为模块的一部分xml.etree http://docs.python.org/library/xml.etree.elementtree.html?highlight=elementtree.

我建议sqlite3 http://docs.python.org/library/sqlite3.html?highlight=sqlite#module-sqlite3(也在标准 Python 库中)作为选择的关系数据库(如果您有选择的话),同样是因为它方便且简单——底层的 SQLite 嵌入式关系数据库也有详细记录,位于它自己的网站 http://www.sqlite.org/docs.html。如果您需要有关 Python 如何连接关系数据库(“DB-API”)的一般教程,这里有一个不错的教程here http://www.amk.ca/python/writing/DB-API.html.

一旦你完全理解了 etree 和 sqlite3——你不一定需要安装any无论是哪一个(这是他们魅力的一部分;-)——你基本上都准备好了。 (当然,安装 SQLite 本身(命令行和/或 GUI 工具)以便您可以查看数据库文件并调整它们可能会很好,图形 XML 编辑器也可以,例如oXygen http://www.oxygenxml.com/ or XMLmind http://www.xmlmind.com/xmleditor/查看和/或调整您的 XML,但这两种工具都不是needed,与使用 Python 而不是其他语言进行 XML 解析和 SQLite 编写完全无关;-)。

是的,你完全可以做到CREATE TABLE以及其他 DDL 查询sqlite3(以及任何其他符合 DB-API 的 Python 模块,如果您选择使用其他关系数据库;-)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 将数据从 xml 文件填充到 sqlite 数据库 的相关文章

随机推荐

  • 可以在 Coq 的蕴涵中使用 destruct 吗?

    destruct可以用来分割and or在柯克 不过好像也可以用暗示 例如我想证明 P gt P Lemma test P P gt P Proof unfold not intro pffpf apply pffpf intro pff
  • 如何自动填写XFA(PDF)表格?

    我正在寻找一个免费选项来填写 XFA PDF 表单 我知道 iText 是一个选择 但它们的商业价格对我来说太贵了 我更喜欢完全开源的东西 有 PDFBox 但它似乎不允许将数据插入 XFA 表单 或者至少很少解释如何插入 我只需要使用文本
  • Python字典查找性能,get vs in

    这并不是过早的优化 我的用例在内部循环的最里面对字典的权利进行了双重检查 一直运行 而且 它在智力上也令人厌烦 见结果 这些方法中哪一种更快 mydict hello yes goodbye no key hello A if key in
  • 对 BigIntegers 列表求和

    我已经查看了所有内容 但无法弄清楚这一点 如何对 BigIntegers 列表求和 Using System Numerics Using System Linq List
  • 具有多个组件的开盖

    我正在尝试将三个单元测试项目 三个不同的 dll 合并到一份 OpenCover 报告中 是否可以 我尝试查看过滤器 但在 OpenCover Wiki 站点中没有看到足够的详细信息 示例 有人可以告诉我可以从哪里开始吗 多谢 对的 这是可
  • 错误:无法初始化客户端 | mongo-connect 快速会话

    我在尝试在 mongodb 上保存会话时遇到错误 这是我的代码 const express require express const session require express session const MongoStore req
  • 与 gfortran 和 gcc 静态链接的混合语言

    我有一些用 C 和 Fortran 编写的代码 我想将其编译成静态链接的可执行文件 如果我动态编译代码 使用 fno underscoringgfortran 的选项 一切正常 但是 我想将其链接到 so文件中 静态链接大部分需要的库 然后
  • 从派生的可变参数模板类调用基模板的虚拟方法

    这本质上是后续之前的一个问题 https stackoverflow com q 26351963 315052 不是我提出的 但我对答案感兴趣 问题是 为什么编译器 链接器无法解析派生类对虚函数的调用 在这种情况下 派生类是具有可变参数的
  • C# 强制执行语句的顺序

    我的问题是关于 C 大概还有 Net 中的执行顺序保证 我给出了我所了解的 Java 示例来进行比较 对于Java 来自 Java并发实践 只要在该线程内无法检测到重新排序 就无法保证一个线程中的操作将按照程序给定的顺序执行 即使重新排序对
  • haskell 优雅的方式从无限的数字列表中过滤(减少)重复序列

    这是一个产生无限随机数列表的函数 import System Random values Int values map fst scanl r gen gt randomR 1 10 gen randomR 1 10 mkStdGen 1
  • 使用 FFmpeg 根据其 元数据旋转视频?为什么 Android 会放置错误的元数据?

    我有一个用户上传视频的网站 对于我的网站 我还有一个 Android 应用程序 该网站为每个上传的视频 从浏览器或 Android 创建一个缩略图 问题是对于普通视频来说一切都好 但是对于android我的视频旋转了90 我认为 Andro
  • 在检查条件时消除代码中嵌套 if 的最佳方法是什么?

    我正在用 Java 开发一个 BlackBerry 应用程序 并且有一个存储所有用户设置的选项类 问题是我需要检查一些条件才能知道如何反应 随着我不断添加更多功能 会向用户显示更多 GUI 选项 Options 类中存储更多设置 并且需要检
  • 用逗号分隔

    嘿 我有这个 following user id row following user id 我得到 44443344330 然后我使用 implode 函数并用逗号分隔 44 44 33 44 33 0 但我不想要最后一个数字的最后一个逗
  • 将字典值映射到列表

    给定以下字典 dct a 3 b 3 c 5 d 3 如何将这些值应用于列表 例如 lst c d a b d 为了得到类似的东西 lstval 5 3 3 3 3 Using a 列表理解 https docs python org 3
  • Google 警告:资源解释为 Font,但使用 MIME 类型 application/octet-stream 传输

    我的字体在 Google 中收到警告 资源解释为字体 但使用 MIME 类型 application octet stream 传输 Content Fonts iconFont ttf 即使我有此警告它也有效 但我更愿意避免此警告 这里是
  • Gmail删除链接标签,如何避免这种情况

    我正在尝试使用函数 mail 发送包含链接的富文本 我正在发送这种代码 Please access a href http www site md contact en Contact a to send all these informa
  • 从 SQL 脚本在 H2 数据库中插入长文本

    我正在尝试使用 H2 的 runscript 运行 sql 脚本 其中一个表包含一个长文本类型 用于存储 xml 文档 来自 SAP 数据库 因此 Insert 语句包含较长的 XML 文本 大约 200 行 XML 这相当难看 但仍然可以
  • 如何让 2 个 div 继承父 div 中具有更高高度的 div 的高度?

    我在匹配父 div 内 2 个 div 的高度时遇到问题 我很难解释我是在 Jsfiddle 上做的 http jsfiddle net DSQpd http jsfiddle net DSQpd 基本上 我想做的是匹配高度 无论哪一个更长
  • 将字符串拆分为单词并与其他数据重新连接

    我有一个使用的方法Regex寻找文本中的模式string 它可以工作 但不足以继续下去 因为它需要文本出现在确切的顺序 而不是将短语视为一组单词 public static string HighlightExceptV1 this str
  • 使用 python 将数据从 xml 文件填充到 sqlite 数据库

    我有一个与解决问题的一些指南相关的问题 我有一个 xml 文件 我必须使用脚本语言将其填充到数据库系统 无论如何 它可能是 sqlite mysql 中 Python 有人知道如何继续吗 我需要进一步阅读哪些技术 我必须安装哪些环境 有关于