Создание pandas DataFrame из списка списков, содержащих данные из объекта bs4 - PullRequest
1 голос
/ 29 февраля 2020

Я хочу создать DataFrame, содержащий данные, вырезанные с веб-сайта. Данные помещаются в два списка: название вакансии и URL-адрес, который ссылается на страницу заявления о приеме на работу. Моя цель состоит в том, чтобы затем передать их в список для создания DataFrame, как показано https://www.geeksforgeeks.org/different-ways-to-create-pandas-dataframe/

list_job_titles = []
list_job_URLs = []
for a in soup.find_all('a', href = re.compile("work-placement-internship")):
    URL_from_soup = (a['href'] + " ")
    title_from_soup =(a.text.strip())
    list_job_titles.append(title_from_soup)
    list_job_URLs.append(URL_from_soup)
    time.sleep(0.1)
data = [[list_job_titles],[list_job_URLs]]
df = pd.DataFrame(data, columns=['Job title', 'URL'])

Я протестировал аспект скрипта веб-очистки, и он получает все желаемое Информация с сайта. Однако, когда дело доходит до создания DataFrame, я получаю ошибку:

ValueError: 2 пропущенных столбца, переданные данные имеют 1 столбец

Затем я попытался передать один столбец заголовок:

df = pd.DataFrame(data, columns=['Job title'])

На что я получаю вывод:

Должность

0 [Некоторая должность ...

1 [https://someURL ...

Любая идея, как разбить это на 2 столбца, один для заголовка и один для URL

Cheers

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Попробуйте:

Заменить:

df = pd.DataFrame(data, columns=['Job title', 'URL'])

С:

df = pd.DataFrame({"Job title": list_job_titles, "URL": list_job_URLs})
0 голосов
/ 29 февраля 2020

Попробуйте что-то вроде этого:

df = pd.DataFrame({"Job Title": list_job_titles, "Job URLs": list_job_urls})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...