在Python中从XML提取数据

时间:2018-11-23 06:11:41

标签: python xml

我有一个XML文件,其中包含来自多个源的数据,我正尝试提取这些数据进行分析。但是我无法提取数据。

有人能启发我在提取数据的过程中同时保持数据的标题和单位吗?

文件已附加xml file

数据的快照也附在这里:

enter image description here

我可以获得的唯一输出是标头,并且我无法将数据加载到python中进行进一步分析。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

一种简单的方法是使用xmltodict

with open("00001.xml", "r") as file:
    raw = file.read()

import xmltodict
data = xmltodict.parse(raw)
print(data)

打印输出:

OrderedDict([('logs',
              OrderedDict([('@xmlns', 'http://www.witsml.org/schemas/1series'),
                           ('@xmlns:xsi',
                            'http://www.w3.org/2001/XMLSchema-instance'),
                           ('@version', '1.4.1.1'),
                           ('log',
                            OrderedDict([('@uidWell', 'W-508420'),
                                         ('@uidWellbore', 'B-508420'),
                                         ('@uid', 'L-508421-Time'),
                                         ('nameWell', '15/9-F-5'),
                                         ('nameWellbore',
                                          '15/9-F-5 - Main Wellbore'),
                                         ('name', 'Real Time SLB - Time Log'),
                                         ('serviceCompany', 'Schlumberger'),
                                         ('creationDate',
                                          '2007-12-18T13:28:58.000Z'),

您将获得一个有序的字典,可以像访问其他字典值一样访问哪些值。

如果要获取表格数据,建议使用熊猫:

import pandas as pd
df = pd.DataFrame(data["logs"])
df.head()