Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python中解析大型XML文档的最快方法是什么?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我目前正在运行基于Python食谱第12.5章的以下代码:</p> <pre><code>from xml.parsers import expat class Element(object): def __init__(self, name, attributes): self.name = name self.attributes = attributes self.cdata = '' self.children = [] def addChild(self, element): self.children.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(element) def getAttribute(self,key): return self.attributes.get(key) def getData(self): return self.cdata def getElements(self, name=''): if name: return [c for c in self.children if c.name == name] else: return list(self.children) class Xml2Obj(object): def __init__(self): self.root = None self.nodeStack = [] def StartElement(self, name, attributes): element = Element(name.encode(), attributes) if self.nodeStack: parent = self.nodeStack[-1] parent.addChild(element) else: self.root = element self.nodeStack.append(element) def EndElement(self, name): self.nodeStack.pop() def CharacterData(self,data): if data.strip(): data = data.encode() element = self.nodeStack[-1] element.cdata += data def Parse(self, filename): Parser = expat.ParserCreate() Parser.StartElementHandler = self.StartElement Parser.EndElementHandler = self.EndElement Parser.CharacterDataHandler = self.CharacterData ParserStatus = Parser.Parse(open(filename).read(),1) return self.root </code></pre> <p>我正在处理大约1 GB大小的XML文档。有没有人知道一种更快的方法来解析这些?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你试过cElementTree模块吗?</p> <p>cElementTree作为xml.etree.cElementTree包含在Python2.5及更高版本中。参考<a href="http://effbot.org/zone/celementtree.htm" rel="nofollow noreferrer">benchmarks</a>。</p> <p><em>移除死图像库链接</em></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在Excel中读取公式并将其转换为Python中的计算?
8 回答
如何在excel中读取嵌入的excel,并将嵌入文件中的信息存储在主excel文件中?
4 回答
如何在Excel中返回未知列长度的非空顶行列值?
4 回答
如何在excel中选择数据列?
2 回答
如何在Excel中通过脚本自动为一列中的所有单元格创建公共别名
10 回答
如何在excel中高效格式化范围AttributeError:“tuple”对象没有属性“fill”
6 回答
如何在excel单元格中编写python函数
1 回答
如何在excel单元格中自动执行此python代码?
10 回答
如何在excel工作表中创建具有相应值的新列
5 回答
如何在Excel工作表中复制条件为单元格颜色的python数据框?
8 回答
如何在Excel工作表中循环
4 回答
如何在excel工作表中打印嵌套词典?
3 回答
如何在excel工作表中绘制所有类的继承树?
4 回答
如何在Excel工作表中自动调整列宽?
3 回答
如何在excel工作表中追加并进一步处理
10 回答
如何在excel工作表之间进行更改?
4 回答
如何在excel或csv上获取selenium数据?
5 回答
如何在Excel或Python中将正确的值赋给正确的列
10 回答
如何在excel或python中提取单词周围的文本?
8 回答
如何在excel或python中转换来自Jira的3w 1d 4h的fromat数据?
7 回答