Получение неожиданного вывода с использованием Pandas Dataframe - PullRequest
1 голос
/ 04 апреля 2020

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

Column 1    Column 2    Column 3
       x
       x
       x
                   x
                   x
                   x
                               x
                               x
                               x

Итак, как вы можете видеть, данные хранятся в этой форме в файле .csv, так как я сказал, что следующие данные заполнятся там, где заканчивается предыдущий.

Вот мой код:

    elements_1 = driver.find_elements_by_css_selector(one_)

    web_content_list = []
    for ele in elements_1:
        web_content_dict = {}
        web_content_dict["Title"] = ele.text
        web_content_list.append(web_content_dict)

    elements_2 = driver.find_elements_by_css_selector(two_)

    for ele2 in elements_2:
        web_content_dict = {}
        web_content_dict["Title2"] = ele2.text
        web_content_list.append(web_content_dict)

    elements_3 = driver.find_elements_by_css_selector(three_)

    for ele3 in elements_3:
        web_content_dict = {}
        web_content_dict["Title3"] = ele3.text
        web_content_list.append(web_content_dict)

    df = pd.DataFrame(web_content_list)
    df.to_csv(csv_file_location,
              index=False, mode='a', encoding='utf-8')

Также не говорите мне использовать dropna() или что-то подобное, потому что это работает, когда Файл имеет нулевые значения, но в моем случае это не так! Так что здесь не сработает ...

Любая помощь будет признательна ...

1 Ответ

0 голосов
/ 04 апреля 2020

Хмм ..

Если вы просто хотите получить кадр данных со следующей структурой, постобработка будет правильной.

Попробуйте это.

new_df = pd.DataFrame({'Column 1': df['Column 1'].dropna(),
              'Column 2': df['Column 2'].dropna(),
              'Column 3': df['Column 3'].dropna()})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...