【发布时间】:2017-08-07 06:22:49
【问题描述】:
我有一个这样的 xml/txt 文件:
<text id="32a45" language="ENG" date="2017-01-01" time="11:00" timezone="Eastern">
<s id="1">
foo
bar
</s>
<d>
11235
</d>
<text id="32a47" language="ENG" date="2017-01-05" time="1:00" timezone="Central">
<s id="2">
foo
bar
</s>
<d>
11235
</d>
<text id="32a48" language="ENG" date="2017-01-07" time="3:00" timezone="Pacific">
<s id="3">
foo
bar
</s>
<d>
11235
</d>
我想使用 python 构建一个如下所示的 sqlite 表:
id language date timezone s d
32a45 ENG 2017-01-01 Eastern foo bar 11235
32a47 ENG 2017-01-05 Central baz qux 11235
32a48 ENG 2017-01-07 Pacific foo bar 11235
知道我该怎么做吗?我不能使用 xmltree 模块,因为原始文件中的 xml 标签被弄乱了。我非常感谢您的帮助。谢谢。
编辑:我可以轻松地将每个文本作为列表中的列表。像这样:
['<text id="32a45" language="ENG" date="2017-01-01" time="11:00" timezone="Eastern">', '<text id="32a47" language="ENG" date="2017-01-05" time="1:00" timezone="Central">', '<text id="32a48" language="ENG" date="2017-01-07" time="3:00" timezone="Pacific">']
但我不知道如何分别从每个列表中获取 id、语言等。
【问题讨论】:
-
您在此标记 R 的任何特殊原因?
-
是的。如果有一个内置库可以在 R 中执行此操作,那也适用于我。我知道 R 中有一个 RSQlite 包。但是,我以前没有使用过它。话虽如此,我认为 R 在这里不会比 python 更有用。只是保持一个选项打开。
-
这是关于解析 XML 还是关于将某些东西放入 SQLite 中?似乎这是两个独立的问题,而且很简单,以至于在 SO 上已经多次单独回答了它们。 (例如,谷歌搜索“python xml parse”的第一个搜索结果是python2 help on the
xmlmodule,其中包含大量示例数据和代码。) -
主要是在sqlite里面放东西。由于一些标记问题,在这种情况下我不能使用 xmltree。