Я перебираю несколько тысяч строк некоторых действительно грязных данных из файла CSV, используя панд. Я перебираю один из столбцов кадра данных, который обычно содержит довольно короткие строки разрозненной каскадной информации о клиенте (имя, местоположение, номера клиентов, номера телефонов и т. Д.).
Существует небольшая разница между номерами клиентов и телефонными номерами, хотя большинство строк в столбце df содержат идентификатор TEL в тексте строки для телефонного номера, как показано ниже (где 0123456 - номер клиента, и 55555 5555 - это номер телефона):
ДЖЕРРИ 0123456 ТЕЛ: 55555 5555 РАСПОЛОЖЕНИЕ ГОРОДА
Я могу удалить пробел из цифр, следующих за индикатором TEL:, но не могу сформулировать регулярное выражение, которое вытягивает текст только после индикатора TEL :. Мой идеальный вывод в моем новом столбце df ["TEL") может быть 555555555.
Пока что у меня есть регулярное выражение (обратите внимание, что некоторые телефонные номера имеют разную длину для работы с международными абонентами, некоторые из которых включают код страны, а некоторые нет):
re.match (r '(TEL)?:?? [0-9] {9-12}'). Group ()
Тем не менее, приведенное выше регулярное выражение по-прежнему извлекает фрагмент TEL строки, с которой я сопоставляю. Как я могу исправить эту ошибку?