Доброго дня! Подскажите, пожалуйста, как составить регулярное выражение и разбить строку такого типа:
Иванов Иван Иванович 12.02.1942 675195, Москва, ул. Ивановых, дом 15, 4512 125345 выдан Орденом Ивановых 11.11.2011.
Соответственно, разбить нужно так чтобы получить колонки:
ФИО, Дата, Адрес, Паспорт
Я пробовал так:
pattern = "[А-Я]*[0-9]."
df1 = df1.Name.str.split(pattern, expand=True)
но получается криво. Уверен есть вариант значительно лучше.
Ответ
Так как текст неструктурирован, тут помогут только регулярные выражения. Пример:
rx = r'^(?P
См. демо на regex101.com
^ - начало строки
(?P
Чтобы эта регулярка работала в pandas, нужно использовать её с extract
df1 = df1.Name.str.extract(rx, expand=True)
Комментариев нет:
Отправить комментарий