Извлечение данных этого XML в Python DataFramePython

Программы на Python
Ответить
Anonymous
 Извлечение данных этого XML в Python DataFrame

Сообщение Anonymous »

Я не могу получить извлечение этих данных XML в DataFrame должным образом.
Это мой образец XML. В действительности у меня есть несколько стеков «сущности», которые представляют одну строку данных в желаемом результате. Чтобы сохранить пространство, я вставил только один экземпляр «сущности» здесь: < / p > < b r / > < c o d e > & l t ; E n t i t y C o l l e c t i o n & g t ; < b r / > < b r / > & l t ; E n t i t i e s & g t ; < b r / > < b r / > & l t ; E n t i t y & g t ; < b r / > < b r / > & l t ; A t t r i b u t e s & g t ; < b r / > < b r / > & l t ; K e y V a l u e P a i r O f s t r i n g a n y T y p e & g t ; < b r / > < b r / > & l t ; k e y & g t ; c l i e n t _ n u m b e r & l t ; / k e y & g t ; < b r / > < b r / > & l t ; v a l u e t y p e = & q u o t ; b : s t r i n g & q u o t ; & g t ; A B C 1 2 3 3 4 5 & l t ; / v a l u e & g t ; < b r / > < b r / > & l t ; / K e y V a l u e P a i r O f s t r i n g a n y T y p e & g t ; < b r / > < b r / > & l t ; K e y V a l u e P a i r O f s t r i n g a n y T y p e & g t ; < b r / > < b r / > & l t ; k e y & g t ; m y _ d a t a . c l i e n t _ type



my_type

my_data1

true

123



345









my_data.status



status

my_data1

true

123



67









my_data.date



date

my_data1

true

89

2024-01-01







my_data.country



country

my_data1

true

123



456









client_code

some_code456





my_data.my_data1id



my_data1id

my_data1

true

13

some_code123













my_data.client_type

client123





my_data.status

OK





my_data.country

some_country





some_code456



some-id



ID123







< /code>
Элементы в 'key' (или в 'attributeLogicalName') должны быть заголовками. Значение «значение»/«» должно быть фактическими данными. Это желаемый результат (первая строка).
Поскольку данные очень вложены, я попытался использовать xml.etree, но не зашел очень далеко, насколько я не уверен, как приступить к форме: < /p>

Код: Выделить всё

for _, elem in ET.iterparse(my_xml):
if len(elem) == 0:
print(f'{elem.tag} {elem.attrib} text={elem.text}')
else:
print(f'{elem.tag} {elem.attrib}')
Как получить желаемый результат?

Подробнее здесь: https://stackoverflow.com/questions/789 ... -dataframe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»