Python 在pandas中解析XML
我有一个xml文件列表,我想在每个文件中获得两个值,以便为数据帧创建索引。我使用for循环来实现这一点,因为我有大约1000个文件,这并没有那么大,我想计算这些文件上的一些特性以存储在数据帧中 例如,第一个文件如下所示:Python 在pandas中解析XML,python,xml,pandas,Python,Xml,Pandas,我有一个xml文件列表,我想在每个文件中获得两个值,以便为数据帧创建索引。我使用for循环来实现这一点,因为我有大约1000个文件,这并没有那么大,我想计算这些文件上的一些特性以存储在数据帧中 例如,第一个文件如下所示: <?xml version="1.0" encoding="utf-8"?> <tag1> <tag2> <tag3> <author>The author</au
<?xml version="1.0" encoding="utf-8"?>
<tag1>
<tag2>
<tag3>
<author>The author</author>
<title> The title </title>
</tag3>
</tag2>
</tag1>
我的问题是,由于文件之间的结构始终相同(标记数相同),因此标记的名称可能会从一个文件更改为另一个文件,例如:
<?xml version="1.0" encoding="utf-8"?>
<tag_1>
<secondtag>
<tag3>
<author>The second author</author>
<title> The second title </title>
</tag3>
</secondtag>
</tag_1>
第二作者
第二个标题
如何访问作者和标题而不事先知道标记的名称?使用查找子节点而不是直接路径
如果它们总是作者标签和标题标签,只需在任何地方搜索即可?例如:
.xpath('//author')
?我总是有author
和title标记,但是当我尝试你的方法时,它不起作用,因为树('//author')
返回了一个空列表,所以列表索引超出了范围。尽管如此,我已经看到,被指控的文件是第一个带有以下标记的文件:
。可能是问题吗?啊。。。。因此,您需要更改xpath以包含名称空间,然后。。。
<?xml version="1.0" encoding="utf-8"?>
<tag_1>
<secondtag>
<tag3>
<author>The second author</author>
<title> The second title </title>
</tag3>
</secondtag>
</tag_1>