问题标签 [iterparse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1423 浏览

python - 将 GraphML 文件转换为另一个文件

嗨,我有一个简单的 graphML 文件,我想从 GraphML 中删除节点标记并将其保存在另一个 GraphML 文件中。下面给出的 GraphML 大小为 3GB 是示例。

输入文件 :

所需输出:

有什么方法可以做到这一点吗?

0 投票
1 回答
204 浏览

python-3.x - lxml.iterparse:未使用的变量“事件”(未使用的变量)

它被使用了 lxml.iterparse 并用 Pylint 检查了代码。我想编写没有未使用变量“事件”的代码。我怎样才能做到这一点?

0 投票
0 回答
1384 浏览

python - 如何将iterparse生成的ElementTree写入xml文件

请注意:Python 的新手用户。

你好,

我正在处理超过 1Gb 的 XML 文件。使用 Python2.7。最初,我使用“iter”来解析 XML。它适用于小文件,但文件如此之大,我遇到了内存错误。然后,我阅读了文档,发现 iter 一次将整个文件加载到内存中,我应该使用 iterparse。我使用并且能够加载 xml 文件并在解析它时进行修改。

我现在面临的问题是如何将这个解析的元素树写入文件。我在 Google 上找到的方法建议使用 ElementTree 的“写入”方法,该方法使用“iter”进行解析,但我的使用 iterparse 进行解析。

下面是我的代码片段。我注释了行,因为代码的内部逻辑非常大。我唯一苦苦挣扎的部分是将更新的树写入“output_pre”文件。

我的xml文件的结构是这样的:

代码(内部逻辑已被删除):

----------------解析器---------------

谢谢!

0 投票
1 回答
250 浏览

python - 与 getchildren() 的 ElementTree 解析问题

我发现了一个特定的(但正确的)XML 结构可能会影响iterparse功能的案例。

结果是:

iterparse返回与提供的不同数量的子节点看起来很奇怪parse

xml 文件有点长(如果我删除了一些节点,iterparse则返回与 的情况相同的值parse):

0 投票
2 回答
452 浏览

python - Python tree.iterparse 导出所选元素的源 XML,包括所有后代

Python 3.4,使用 etree.iterparse 解析 GB++ 大小的 XML 维基百科转储文件。我想在当前匹配的<page>元素中测试它的<ns>值,然后根据后一个值我想导出整个<page>对象的源 XML 及其所有内容,包括嵌套在其中的任何元素,即整篇文章的 XML。

我可以迭代<page>对象并找到我想要的对象,但是所有可用的函数似乎都想读取文本/属性值,而我只需要源文件的 XML 代码的 utf8 字符串副本,用于完整的范围<page>对象。这可能吗?

XML 的精简版本如下所示:

让我进行价值测试的 python 代码在<ns>这里:

在这种情况下,我只想提取第二个元素的 XML 代码<page>一个字符串:

编辑:小错字和更好的标记

0 投票
1 回答
940 浏览

python - 使用 iterparse/lxml/python 2 解析 XML 时缺少元素属性

这是我的用例:我有一个可能很大的 XML 文件,我想输出给定元素类型的所有独特结构变体的频率。元素属性应作为唯一性测试的一部分。输出应按频率对变化进行排序。

这是一个简单的输入示例,有 4 个汽车条目:

我期望的输出如下所示:

我已经使用 iterparse 实现了代码,但是当它处理元素时,元素中不存在属性。代码逻辑似乎是正确的,但属性根本不存在;它们没有写在输出中,并且它们不存在于唯一性测试中。根据上面的输入示例,这是我得到的输出:

用法是:

在上面的例子中,我使用了:

这是来源:

在调试器中,我可以清楚地看到对 get_structure 的调用中的元素缺少属性。谁能告诉我为什么会这样?

0 投票
1 回答
1272 浏览

python - 如何用 iterparse 编写?

我正在尝试遍历 XML 文档,找到一些标签,将它们组合成一个新标签,然后使用 Python 中的 ElementTree 模块写回 xml 文档。

我有代码到我相信它会工作的地步,但是当我到达编写文件的部分时,我收到一个错误:

我要解析的文件是 120mb,所以我认为使用 interparse 会更有效。这也是我比较熟悉的。

我正在解析的 XML 文件的一个小样本:

0 投票
0 回答
151 浏览

python - Python XML Iterparse 在文本上停止

我是 python 的新手,使用 3.x,并且遇到了我正在测试/学习的 XML 文件的问题。当我查看原始文件(顺便说一句,它是 ASCII 编码的)时,问题(我很确定)是那里有一个 U+00A0 代码。

XML如下:

使用记事本++,它显示文本在 ULL 和 Georgetown 之间有“xA0”而不是“”(两个空格)。因此,当我执行以下代码时:

它给了我一个错误说明:

我该如何解决这个问题/解决它?如果我删除 xA0 部分,它解析得很好,但显然这样的事情可能会再次出现,我想以编程方式处理它。

0 投票
1 回答
1060 浏览

python-2.7 - python lxml iterparse() 正在跳过第一个事件

我正在使用 python lxml 中的 iterparse() 来解析大型 XML 文件并获取相关数据。这工作得很好,除了第一次发生事件。未捕获第一个节点的数据。当我想获得标签“方式”(不在此代码片段中)时,也会发生同样的事情。为什么第一个事件元素没有被捕获?

我的 xml 文件如下所示:

0 投票
1 回答
1627 浏览

python - Iterparse big XML,内存占用少,并获取所有,甚至嵌套的序列元素

我根据Liza Daly 的 Python 博客编写了一个小的 Python 脚本来解析 XML 数据。但是,我的代码并未解析所有节点。因此,例如,当一个人有多个地址时,它只需要第一个可用地址。XML 树看起来像这样:

这将是python脚本:

所以我得到的是:

但 John Doe 的名字上有 3 个他住过的地址。所以我希望:

正如你所看到的,因为唯一的额外节点是地址,所以其余的都不会改变,只是额外添加了地址。当您将 OPENROWSET() 与 BULK 一起使用时,SQL Server 会自动执行此操作。但是,此文件大于 3GB,因此无法正常工作。

更新:XML 示例(假地址)