ElementT的问题

2024-05-18 07:54:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下xml文件(其中包含超过2GB的数据):

<events version="1.0">
    <event time="10998.0" type="actend" person="1" link="link36" actType="home"  />
    <event time="10998.0" type="departure" person="1" link="link36" legMode="car"  />
    <event time="10998.0" type="PersonEntersVehicle" person="1" vehicle="1"  />
....
</events>

为了阅读和分析数据,我尝试使用这种方法:http://boscoh.com/programming/reading-xml-serially.html

但当我尝试名称空间时:

^{pr2}$

出现错误:

^{3}$

这段代码是如何工作的,为什么要搜索“s”?在


Tags: 文件数据eventhometimeversiontypelink
1条回答
网友
1楼 · 发布于 2024-05-18 07:54:06

你需要提供一个元组来

for event, elem in etree.iterparse(xmL, events=('start-ns',)): # added , to make it a tuple

否则它将把字符串解释为iterable并分别尝试每个字符。在


XML不包含命名空间:

^{pr2}$

有效但不打印任何内容-将xml更改为具有命名空间的xml以获得输出:

t = """<events version="1.0" xmlns:k="some_namespace">
    <event time="10998.0" type="actend" person="1" link="link36" actType="home"  />
    <event time="10998.0" type="departure" person="1" link="link36" legMode="car"  />
    <event time="10998.0" type="PersonEntersVehicle" person="1" vehicle="1"  />
</events>"""

输出:

start-ns ('k', 'some_namespace')

相关问题 更多 >