Файлы к уроку:
Ссылки:
Описание
В этом уроке мы научимся импортировать таблицы в формате XML на примере данных с сайта Банка России.
Исходный XML код находится здесь. Мы преобразуем его в pandas DataFrame.

Решение
Сначала импортируем нужные модули.
import bs4
import requests
import pandas as pd
Создадим переменную, в которой будет храниться url и скачаем весь xml код страницы.
url = 'https://cbr.ru/scripts/XML_val.asp?d=0'
url_link = requests.get(url)
soup = bs4.BeautifulSoup(url_link.text, "lxml")
Сохраним каждый столбец таблицы в список.
names = soup.find_all('name')
engnames = soup.find_all('engname')
nominals = soup.find_all('nominal')
parentcodes = soup.find_all('parentcode')
Создадим список, в котором каждый элемент — это список со значениями одной строки.
currencies = []
for i in range(0, len(names)):
rows = [names[i].get_text(),
engnames[i].get_text(),
nominals[i].get_text(),
parentcodes[i].get_text()]
currencies.append(rows)
display(currencies[:3])
Преобразуем получившийся список в датафрейм.
valuta = pd.DataFrame(currencies,
columns=['Name', 'Engname', 'Nominal', 'Parentcode'],
dtype = float)
valuta[:3]
Примененные функции
- requests.get
- bs4.BeautifulSoup
- bs4.BeautifulSoup.find_all
- pandas.DataFrame
- list.append
Курс Импорт данных в Python
Номер урока | Урок | Описание |
---|---|---|
1 | Python Импорт данных №1. Импорт Excel | Научимся импортировать данные из книг MS Excel в формате xlsx. |
2 | Python Импорт данных №2. Импорт CSV | Научимся импортировать данные из текстовых файлов CSV. |
3 | Python Импорт данных №3. Импорт с веб-сайта (HTML) | Импортируем таблицу с веб-страницы и запишем результат в CSV файл. |
4 | Python Импорт данных №4. Импорт таблиц XML | Научимся импортировать таблицы XML на примере данных с сайта Банка России. |
5 | Python Импорт данных №5. Импорт таблиц из PDF | Научимся импортировать нужные таблицы из PDF файлов, объединять их по вертикали в одну большую таблицу и записывать результат в CSV файл. |
6 | Python Импорт данных №6. Импорт таблиц из Word | Научимся импортировать таблицы из документов MS Word в формате docx. |
7 | Python Импорт данных №7. Импорт таблиц из Word | В этом уроке мы извлечем таблицу из документа Word и запишем ее в файл CSV. Для этого нам понадобится модули python-docx и pandas. |