Как преобразовать список очистки с помощью BeautifulSoup в dataframe? - PullRequest
0 голосов
/ 02 мая 2019

Я собираю данные с этого сайта: https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M., используя BeautifulSoup, и мне нужно показать их в виде таблицы с тремя столбцами: почтовый индекс, городской округ, сосед.Я хочу преобразовать список очистки из списка в фрейм данных, чтобы можно было удалить некоторые строки и выполнить дальнейшие манипуляции с фреймом данных.

Получить следующее сообщение об ошибке:

error message

Ниже приведен код:

import pandas as pd 

import numpy as np

import requests

from tabulate import tabulate

from bs4 import BeautifulSoup

url = requests.get("https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M")

soup = BeautifulSoup(url.content,'lxml')

print(soup.prettify())

table = soup.find_all('table')[0]

df = pd.read_html(str(table))

df1 = pd.DataFrame.from_items(df)

1 Ответ

1 голос
/ 02 мая 2019

Вы можете сэкономить немного времени и усилий, используя встроенные панды read_html прямо на странице

df=pd.read_html('https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M')[0]

df.head()

    0       1       2
0   Postcode    Borough Neighbourhood
1   M1A Not assigned    Not assigned
2   M2A Not assigned    Not assigned
3   M3A North York  Parkwoods
4   M4A North York  Victoria Village

Обратите внимание, что read_html возвращает списоквсе таблицы, найденные на странице в виде фреймов данных, следовательно, индексируются, чтобы получить элемент в [0] для нашего фрейма данных.

Я оставляю вам возможность настроить при необходимости исправление заголовков столбцов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...