Функция read_xml
Функция read_xml применяется для чтения данных из XML-документов
и преобразования их в DataFrame. Она поддерживает чтение как из
файлов на диске, так и из строк с XML-разметкой. Основные параметры:
⁅i⁆path_or_buffer⁅/i⁆ - путь к файлу или XML-строка,
⁅i⁆xpath⁅/i⁆ - XPath-выражение для выборки элементов,
⁅i⁆names⁅/i⁆ - список имён для колонок.
Если параметры не указаны, функция пытается автоматически определить
структуру данных.
Синтаксис
pd.read_xml(path_or_buffer, xpath='.', names=None)
Пример
Давайте прочитаем XML-данные из строки:
import pandas as pd
from io import StringIO
xml_data = StringIO('''
<root>
<row>
<a>1</a>
<b>10</b>
</row>
<row>
<a>2</a>
<b>20</b>
</row>
</root>
''')
df = pd.read_xml(xml_data)
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20
Пример
Прочитаем XML с выборкой элементов через XPath:
import pandas as pd
from io import StringIO
xml_data = StringIO('''
<data>
<items>
<item>
<a>1</a>
<b>10</b>
</item>
<item>
<a>2</a>
<b>20</b>
</item>
</items>
</data>
''')
df = pd.read_xml(xml_data, xpath='.//item')
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20
Пример
Передадим имена колонок вручную:
import pandas as pd
from io import StringIO
xml_data = StringIO('''
<root>
<row>
<first>1</first>
<second>10</second>
</row>
<row>
<first>2</first>
<second>20</second>
</row>
</root>
''')
df = pd.read_xml(xml_data, names=['a', 'b'])
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20
Пример
Чтение XML-файла с диска (файл data.xml):
<root>
<row>
<a>1</a>
<b>10</b>
</row>
<row>
<a>2</a>
<b>20</b>
</row>
</root>
import pandas as pd
df = pd.read_xml('data.xml')
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20