BeautifulSoup - разбить очищенную строку в заданной c схеме и сохранить в dataframe - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь получить жирную / италийскую c строку снизу html код:

<div class="cmp-Review-author">
<span class="cmp-ReviewAuthor" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<meta itemprop="name" content="***TIER I ASSOCIATE PICKER/ PPQA ASSOCIATE***">
<a class="cmp-ReviewAuthor-link" rel="nofollow" href="/cmp/Amazon.com/reviews?fjobtitle=Order+Picker">TIER I ASSOCIATE PICKER/ PPQA ASSOCIATE</a> 
<!-- -->(***Former Employee***)<!-- --> - 
<a class="cmp-ReviewAuthor-link" rel="nofollow" href="/cmp/Amazon.com/reviews?fcountry=US&amp;floc=Edgerton%2C+KS">***Edgerton, KS***</a>
 - <!-- -->***March 5, 2020***</span></div>

и сохранить их в отдельных столбцах в фрейме данных.

Я могу получить строку как

TIER I ASSOCIATE PICKER/ PPQA ASSOCIATE (Former Employee) - Edgerton, KS - March 5, 2020

, но не уверен, как разделить ее на позицию, сотрудник, местоположение, дату, поскольку эта структура различна для каждой строки позиции: (см. пример)

  1. Сотрудник по обслуживанию клиентов (бывший сотрудник) - Миссури-Сити, Техас - 19 декабря 2019 г.
  2. Сборщик, процессор, привратник, посол, решатель проблем, инструктор уровня 3 (бывший сотрудник) - Хеврон, Кентукки - 6 марта , 2020
  3. Курьер (Текущий сотрудник) - Мангейм - 6 марта 2020 года
  4. Сборщик / Упаковщик (Бывший работник) - Норт Рэндалл, Огайо - 5 марта 2020 года
  5. Tdr (Текущий сотрудник) - 5300 holibird Avenue - 5 марта 2020 г. Любая идея?

1 Ответ

0 голосов
/ 08 марта 2020

Регулярное выражение (регулярное выражение) кажется хорошим способом сделать то, что вы ищете. Кажется, что вы разместили последовательность строк:

<position> (<employee status>) - <location> - date

, которую можно превратить в следующее регулярное выражение

^(.*)\ \((.*)\)\ -\ (.*)\ -\ (.*)?

Вот полный Python код:

import re

s = 'TIER I ASSOCIATE PICKER/ PPQA ASSOCIATE (Former Employee) - Edgerton, KS - March 5, 2020'
pattern = '^(.*)\ \((.*)\)\ -\ (.*)\ -\ (.*)?'

position, employee_status, location, date = re.match( pattern, s ).groups( )

Здесь являются некоторыми ресурсами для изучения и использования регулярные выражения.

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