Сохранение результатов очистки в Pandas Фрейм данных - неправильно добавленная ячейка - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок ie Пытаюсь почистить Красивый суп и сохранить соскребенные результаты в pandas фрейме данных. Позже я попытаюсь сохранить фрейм данных в формате .csv, но позвольте мне объяснить, где проблема в данный момент:

Я не знаю, рекомендуется ли сделать код "псевдо" немного, но я сделал it.

Итак, давайте go:

    URL = 'http://LINKLINKLINKLINKLINKLINK'
    page = requests.get(URL)
    soup = BeautifulSoup(page.content, 'html.parser')

    X = []
    Y = []
    Z = []

   for XXX in soup.select(".page_XXX"):
       X.append(XXX.get_text(strip=True))

   for YYY in soup.select(".page_YYY"):
       Y.append(YYY.get_text(strip=True))

   for ZZZ in soup.select(".page_ZZZ"):
       Z.append(ZZZ.get_text(strip=True))    

Сохраняем его в списке:

   info = [X, Y, Z]
   info

И выводим:

  [['XXXLOREM IPSUM DOLOR SIT AMET'],
  ['YYYLorem ipsum: dolor sit amet, consectetur, adipiscing, elit,  sed do'],
  ['ZZZLorem Ipsum', 'Dolor Sit']]

Хорошо, с первого взгляда, у меня все получилось. Мне было интересно, что дальше, и решил преобразовать его в dataframe.

   df = pd.DataFrame(info).T
   df

И есть проблема. Мой фрейм данных выглядит следующим образом ... хм, схема:

                              0                     1                   2
   _________________________________________________________________________________
   0  XXXLOREM IPSUM DOLOR SIT AMET        YYYLorem ipsum...          ZZZLorem Ipsum
   _________________________________________________________________________________
   1                           none                     none          ZZZDolor Sit     
   _________________________________________________________________________________

Но мне нужно, чтобы он хранился в одной строке. Другими словами, мне нужно, чтобы ZZZLorem ipsum и ZZZDolor Sit были вместе, в одной ячейке - в столбце 2 .

Странно. Затем я увидел вывод - а точнее: кавычки (') внутри этого списка:

   ['ZZZLorem Ipsum', 'Dolor Sit']]

Может быть, это запутало? Я попробовал некоторые ad-ho c решения, подобные этому, с целью объединения.

   Z = ', '.join(Z)

... и кавычки (') пропали:

   ['ZZZLorem Ipsum, Dolor Sit']]

Но вывод сделал меня более смущенным. Это не работает:

                                  0                     1                       2
   _________________________________________________________________________________
   0  XXXLOREM IPSUM DOLOR SIT AMET        YYYLorem ipsum...                  ZZZL
   _________________________________________________________________________________
   1                           none                     none                  ZZZO   
   _________________________________________________________________________________
   2                           none                     none                  ZZZR
   _________________________________________________________________________________
   3                           none                     none                  ZZZE    
   _________________________________________________________________________________
   4                           none                     none                  ZZZM    
   _________________________________________________________________________________
   ...                         ...                      ...                   ...

Я прошу прощения за стену текста. Любая помощь приветствуется.

Заранее спасибо!

РЕДАКТИРОВАТЬ: Чтобы быть более точным: мне нужны данные с этой страницы, хранящиеся в одной строке. Идея в том, что после нескольких итераций с несколькими страницами данные будут храниться в строках, и позже я смогу их проанализировать.

В этот момент проблема разбивает содержимое одной ячейки (Z) на две строки. Я хочу, чтобы он хранился в одной ячейке, в первом ряду. Я понятия не имею, что происходит и почему.

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