Извлечение данных из XML в Python

У меня есть XML-файл, содержащий данные из нескольких источников, которые я пытаюсь извлечь для анализа. Но я не могу извлечь данные.

Может ли кто-нибудь просветить меня по процедуре извлечения данных, сохраняя заголовок и единицу данных?

Файл прикреплен к файлу xml .

Здесь также добавлена ​​привязка данных:

введите описание изображения здесь

Единственным выходом, который я могу получить, является заголовок, и я не мог загрузить данные в python для дальнейшего анализа. Любая помощь очень ценится.

Всего 1 ответ


Простым способом было бы использовать 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', Ƈ.4.1.1'),
                           ('log',
                            OrderedDict([('@uidWell', 'W-508420'),
                                         ('@uidWellbore', 'B-508420'),
                                         ('@uid', 'L-508421-Time'),
                                         ('nameWell', ཋ/9-F-5'),
                                         ('nameWellbore',
                                          ཋ/9-F-5 - Main Wellbore'),
                                         ('name', 'Real Time SLB - Time Log'),
                                         ('serviceCompany', 'Schlumberger'),
                                         ('creationDate',
                                          񟭇-12-18T13:28:58.000Z'),

Вы получаете упорядоченный диктов, значения которого вы можете получить, как и любые другие значения dicts.

Если вы хотите получить табличные данные, я предлагаю использовать pandas:

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

Есть идеи?

10000