Python для цикла данных - PullRequest
0 голосов
/ 13 мая 2018

см. Ниже следующий код, который у меня есть на данный момент, и ошибка, которая идет с ним.

 companynames = []
for x in urls:
    website_nametext = requests.get(x)
    all_text = website_nametext.text
    all_soup = BeautifulSoup(all_text, 'html.parser')
    companynames.append(all_soup.h1.get_text())
overall_data = pd.DataFrame(data=[companynames], columns=['Company Name'])

Я получаю следующую ошибку

AssertionError: 1 columns passed, passed data had 3 columns

Если я должен был изменитькод, чтобы поместить три столбца, тогда он позволяет создавать фрейм данных.См. Ниже код.

    companynames = []
for x in urls:
    website_nametext = requests.get(x)
    all_text = website_nametext.text
    all_soup = BeautifulSoup(all_text, 'html.parser')
    companynames.append(all_soup.h1.get_text())
overall_data = pd.DataFrame(data=[companynames], columns=['Company Name', 'Company Name', 'Company Name'])

Однако я хочу, чтобы результаты 'x', 'y' и 'z' были в одном столбце, а каждое имя - в отдельной строке.а не три отдельных столбца в соответствии с моим исходным кодом, однако очевидно, что это создает ошибку.

Как мне это сделать?

1 Ответ

0 голосов
/ 13 мая 2018

Попробуйте убрать квадратные скобки вокруг названий компаний в вызове pd.DataFrame.В скобках есть список списков, пусть и один, но он эффективно поворачивает его на 90 градусов.

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