lxml:编写增量漂亮的打印 xml

2024-04-27

我正在处理非常大的 XML 文件(>1GB),并且需要一种方法来增量写入它们。

有一个顶级元素和数千个大型第二级元素(每个元素都有自己的多级层次结构)。 我试过这个:

from lxml import etree
with etree.xmlfile(out_file_name, encoding = 'UTF-8') as xf:
xf.write_declaration()

  with xf.element('top'):
  xf.write('\n')

  # parse individual input files and write the 2nd level element to the output 
  for file_name in file_list:
    context = etree.iterparse(file_name, tag='my_2nd_level_tag', remove_blank_text = True)
    for _, elem in context:
      xf.write(elem, pretty_print=True))

结果是“顶部”元素与第二级元素具有相同的缩进(零)。

我正在寻找一种干净的方法来使用 lxml 的增量 XML 写入来生成完全缩进的 XML。


None

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

lxml:编写增量漂亮的打印 xml 的相关文章

  • Ansible 列表未排序

    我有一个正在循环的列表 问题是它给出了一个奇怪的顺序 param yml 文件 my list a val1 b val2 c val3 d val3 这是我的简单调试循环 name debug debug msg item loop my
  • 为什么python+sqlite3特别慢?

    我尝试使用 Python 2 7 4 sqlite3 和 Firefox SQLite Manager 0 8 0 处理对同一数据库的相同请求 在小型数据库 8000 条记录 上 Python 和 Firefox 都运行得很快并且给出了相同
  • 将查询参数添加到 URL

    我正在尝试自动从网站下载数据 我需要将动态参数传递到每天更改的站点 html 的结构是表格而不是表单 如何传递参数并从 url 获取结果 这是我尝试过的 它需要在 python 2 7 中 import urllib url https d
  • 使用 pyttsx 包时没有名为 Win32com.client 的模块错误

    今天上网冲浪的时候Quora 我碰到answers https www quora com What amazing things can Python do关于 python 可以做的令人惊奇的事情 我尝试使用pyttsx 文本到语音转换
  • Docker 从密码数据库获取用户名时出错

    我有一个 python 脚本 我想将其容器化 测试远程 py import os import pwd try userid pwd getpwuid os stat st uid pw name except KeyError err r
  • 按键合并的两个字典的值的并集

    我有两本词典 d1 a x y b k l d2 a m n c p r 如何合并这两个字典以获得这样的结果 d3 a x y m n b k l c p r 当字典的值是简单类型 如 int 或 str 时 这有效 d3 dict i a
  • Django Python - LDAP 身份验证

    我目前正在研究 Django Python 我的目标是从 Ldap 目录对用户进行身份验证 我确实有 python 代码来访问 ldap 目录并检索信息 Code import ldap try l ldap open ldap forum
  • scrapy蜘蛛如何将值返回给另一个蜘蛛

    我正在爬行的网站包含许多玩家 当我点击任何玩家时 我都可以进入他的页面 网站结构是这样的
  • 如何使用FeatureUnion转换PipeLine中的多个特征?

    我有一个 pandas 数据框 其中包含有关用户发送的消息的信息 对于我的模型 我感兴趣的是预测消息的缺失收件人 即给定消息的收件人 A B C 我想预测还有谁应该成为收件人的一部分 我正在使用 OneVsRestClassifier 和
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • 类型错误:“生成器”对象没有属性“__getitem__”

    我编写了一个应该返回字典的生成函数 但是当我尝试打印字段时出现以下错误 print row2 SearchDate TypeError generator object has no attribute getitem 这是我的代码 fro
  • 为什么我无法从多处理队列中捕获 Queue.Empty 异常?

    我试图捕获 multiprocessing Queue 为空时引发的 Queue Empty 异常 以下不起作用 import multiprocessing f multiprocessing Queue try f get True 0
  • 字符串编码和解码?

    这是我对错误消息的尝试 我究竟做错了什么 string decode ascii ignore UnicodeEncodeError ascii 编解码器无法对字符 u xa0 进行编码 位置 37 序数不在范围内 128 string e
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • 如何将回溯/sys.exc_info() 值保存在变量中?

    我想将错误名称和回溯详细信息保存到变量中 这是我的尝试 import sys try try print x except Exception ex raise NameError except Exception er print 0 s
  • python 类工厂继承随机父类

    我有一些这样的代码 class Person object def drive self f t raise NotImplementedError class John Person def drive self f t print Jo
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs
  • 同一文件的多个文件句柄

    So 这个问题 https stackoverflow com questions 23156116 pypy file append mode让我思考 我对同一个文件的多个文件句柄进行了一些测试 发现了一些奇怪的结果 我希望有人能解释一下
  • 如何在不使用 MacPorts 或 Fink 的情况下在 OS X Leopard 上安装 lxml?

    我过去曾多次尝试过此操作并遇到问题 有没有人有在没有 MacPorts 或 Fink 的情况下在 OS X 上安装 lxml 的方法 并且绝对有效 最好有完整的 1 2 3 步骤来下载和构建每个依赖项 感谢 Twitter 上的 jesse
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self

随机推荐

  • 如何从 Swift NSURLSession 获取数据?

    例如 我有以下代码 let task NSURLSession sharedSession dataTaskWithURL url completionHandler data response error gt Void in var d
  • 如何像 urllib 这样的模拟/存根 python 模块

    我需要测试一个需要使用 urllib urlopen 它也使用 urllib urlencode 查询外部服务器上的页面的函数 服务器可能宕机 页面可能发生变化 我不能依赖它进行测试 控制 urllib urlopen 返回内容的最佳方法是
  • 限制 SFTP 用户只能访问主目录

    我正在尝试在 EC2 ubuntu 服务器上设置客户端 SFTP 空间 访问权限仅限于该用户的主目录 关于此的其他主题只有大约六千个 而且我在其他选项卡中打开了其中的大多数主题 这看起来很简单 我已经搞定了 sudo groupadd lo
  • 如何将 MNIST 图像下载为 PNG

    我想将 MNIST 图像作为 PNG 文件下载到我的计算机上 我找到了这个页面 http yann lecun com exdb mnist http yann lecun com exdb mnist 我按下后 train images
  • 安装插件时出错:“无法获取框架操纵器服务”

    在我的 Windows XP 计算机上使用 Eclipse Helios 的 RCP 版本 我尝试从标准更新站点安装一些相当基本的插件 例如 PyDev 和 EPIC 不幸的是 我不断收到以下错误消息 An error occurred w
  • 在 Laravel 5 中创建“设置”模型的最佳实践是什么?

    这是我使用 Laravel 的第一个项目 我从 5 2 开始 我正在建立一个自我管理的网站 有一个管理员应该保存网站设置以供以后在网站中使用 例如 背景颜色 社交网络 图片轮播 产品等 我的第一次尝试是创建一个模型 设置 id key un
  • MATLAB 黑洞变量

    MATLAB 是否有 黑洞 或丢弃变量 假设我正在做类似的事情 rows cols size A 但我不想存储行 是否有一个 黑洞 变量可以让我发送值去死 所以任务就像 BLACKHOLE cols size A 其中 BLACKHOLE
  • Eclipse 中的预构建事件

    我有一个使用 jaxb 进行一些 xml 处理的项目 如何在 eclipse 中设置预构建事件以在构建项目之前执行 xjc 转到项目 gt 属性 gt 构建器 创建您自己的构建器并启用它 并在构建器的配置中启用 自动构建期间 等 如下所示
  • SQL部署自动化

    我正在尝试使用 Jenkins 自动化现有的 sql server 数据库部署自动化 自动化的方法之一是使用 Visual Studio 将 SQL 脚本 存储过程 视图 表创建 包含在 SQL Server 数据库项目中 使用 MSBui
  • 使用 Github for Windows 通过 SSH 处理自己的私有 Git

    现在 我正在使用 msysgit 来使用 SSH 来处理存储在 ec2 Amazon 云服务器上的我自己的私有存储库 到目前为止 我已经能够通过 Git Bash 成功连接到这些存储库 使用 ssh keygen 创建 ssh rsa 公钥
  • 当对象创建或修改 JavaScript 中的键/值时,有没有办法触发回调? [复制]

    这个问题在这里已经有答案了 我试图弄清楚如何在 JavaScript 中创建一个对象 该对象将在创建和更改任意键 值时触发事件 这是一些伪代码 var User function var user function keyAdded tri
  • DT::datatable 的背景颜色闪亮

    如何在闪亮的应用程序中更改数据表中选定行的背景颜色 我的 ui R 有以下代码 library shinydashboard header lt dashboardHeader title title sidebar lt dashboar
  • 如何使用 Twitter Bootstrap API 检测您正在使用哪个设备视图?

    我刚刚开始为我即将开展的项目使用 Twitter Bootstrap API 主导航包含 3 个主要元素 site nav 社交链接导航 搜索网站表格 在移动设备上查看网站时 我使用折叠插件折叠网站导航和搜索表单 移动视图有 2 个按钮 单
  • 静态、非成员或静态非成员函数?

    每当我有一些 实用 方向的功能时 我最终都会想知道哪个选项是最好的 例如 在我正在工作的上下文中打印消息结构 自己的或外部的 一些编码 解码代码或一些有用的转换函数 我想到的选项是 1 辅助类 结构中的静态函数 struct helper
  • 在 Google Play 中更新 APK 而不更改扩展文件

    我的 Google Play 控制台中有一个 草稿 APK 它已连接到 APK 扩展文件 版本号为9 扩展文件为 main 9 com something something obb 现在 我正在尝试在发布之前更新 APK 我增加了版本代码
  • Kubernetes 仪表板 - ServiceUnavailable(503 错误)

    我是 Kubernetes 新手 我正在尝试使用 kops 在 AWS 上设置 Kubernetes 集群 我成功地设置了集群 但是 我无法访问仪表板 UI https kubernetes io docs tasks access app
  • 如何低延迟地使用 Android 音频

    Problem 您可能听说过 Android 不提供低延迟音频 API 我所说的低延迟音频是指您应该能够从麦克风获取音频信号并播放声音 中间没有太多时间间隔 例如 5 7 毫秒 我尝试过旧的java 带有AudioRecord和AudioT
  • 颤动|如何知道小部件是否位于导航堆栈顶部(可见)

    在我的 Flutter 应用程序中 如果将新页面推送到导航堆栈 我希望暂停动画 问题 从小部件的角度来看 有什么方法可以知道小部件是否位于导航堆栈的顶部 Example while isTopOfNavigationStack Do the
  • 将容器推送到 Azure 容器注册表时资源访问被拒绝

    使用 Docker Compose 将容器推送到私有 Azure 容器注册表时 Azure DevOps 管道返回以下错误 正在推送 容器 注册表 应用程序 最新 推送引用存储库 docker io registry container 被
  • lxml:编写增量漂亮的打印 xml

    我正在处理非常大的 XML 文件 gt 1GB 并且需要一种方法来增量写入它们 有一个顶级元素和数千个大型第二级元素 每个元素都有自己的多级层次结构 我试过这个 from lxml import etree with etree xmlfi