Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中以简单的方式拆分XML文件?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有用于将XML文件解析为<a href="https://stackoverflow.com/questions/7327924/how-to-efficiently-store-this-parsed-xml-document-in-mysql-database-using-python">detailed here</a>的Python代码。我知道XML文件在内存中操作时占用系统资源是臭名昭著的。我的解决方案适用于较小的XML文件(比如200KB,我有一个340MB的文件)。</p> <p>我开始研究StAX(pull parser)实现,但我的工作日程很紧,我正在寻找一种更简单的方法来完成这项任务。</p> <p>我了解如何创建较小的文件块,但如何通过每次输出main/header标记来提取正确的元素?</p> <p>例如,这是架构:</p> <pre><code><?xml version="1.0" ?> <!--Sample XML Document--> <bookstore> <book Id="1"> .... .... </book> <book Id="2"> .... .... </book> <book Id="3"> .... .... </book> .... .... .... <book Id="n"> .... .... </book> </bookstore> </code></pre> <p>如何为每1000个book元素创建带有头数据的新XML文件?有关代码和数据集的具体示例,请参阅我的其他<a href="https://stackoverflow.com/questions/7327924/how-to-efficiently-store-this-parsed-xml-document-in-mysql-database-using-python">question here</a>。谢谢。</p> <p>我要做的就是避免一次在内存中加载数据集。我们能以流方式解析XML文件吗?我的思路对吗?</p> <p>注:我的情况类似于2009年的a <a href="https://stackoverflow.com/questions/476949/splitting-a-large-xml-file-in-python">question asked</a>。一旦我找到一个更简单的解决方法,我会在这里发布一个答案。感谢您的反馈。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用<a href="http://effbot.org/elementtree/iterparse.htm" rel="nofollow">elementtree.iterparse</a>并在处理完每个book标记后丢弃它。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Kivy:在屏幕管理器中使用on_press even更改屏幕
6 回答
kivy:在幻灯片转换开始时播放声音,按下按钮后停止播放
1 回答
KIVY:在应用程序初始化期间添加小部件
10 回答
Kivy:在我的应用程序中添加工具栏
4 回答
Kivy:在排序ListAdapter d时无法更新ListView
10 回答
kivy:在根控件中用on-unpress-even更改嵌套按钮的颜色
4 回答
Kivy:在桌面上隐藏鼠标光标
4 回答
Kivy:在每次触摸之后(在触摸屏上)在FloatLayout中添加图像,但是所有以前的图像都消失了
7 回答
KIVY:在油漆应用程序中更改线条颜色
6 回答
Kivy:在简单的“Hello World”脚本中出现未知类<WindowManager>错误?
6 回答
Kivy:在网格中分配操作/分类按钮
7 回答
Kivy:在视图滚动时保持绘图说明在视图中
7 回答
Kivy:在重新进入的屏幕上将切换按钮重置为“正常”
6 回答
Kivy:基于基线更新标记中心位置
9 回答
Kivy:增加BoxLayout所需的空间?
8 回答
Kivy:声音开始播放,但在Android上是“不可阻挡的”,但在Windows上却可以
4 回答
Kivy:处理事件
4 回答
Kivy:多个屏幕和菜单项没有实现
6 回答
Kivy:如何为python创建的小部件使用画布
8 回答
Kivy:如何从kvlang中的任何屏幕访问嵌套的screenmanager
4 回答