Как я могу сгруппировать названия магазинов, у которых есть номер места? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть список названий магазинов, который выглядит следующим образом:

Mcdonald 54875
Mcdonald 654788
Mcdonald 5478654
124 Mcdonald 748415
Mcdonald 12213
34# ABC CHICKEN 45645
4A ABC CHICKEN 5464564
ABC CHICKEN 3474#99
ABC CHICKEN '#455
ABC CHICKEN #7885
etc.

Я хочу создать столбец, соответствующий названию ресторана, как этот

Mcdonald
Mcdonald
Mcdonald
Mcdonald
Mcdonald
ABC CHICKEN
ABC CHICKEN
ABC CHICKEN
ABC CHICKEN
ABC CHICKEN
etc.

Есть ли возможностьспособ сделать это автоматически? Конечно, я не могу получить все основное имя, которое я хочу. Список слишком длинный

1 Ответ

1 голос
/ 24 октября 2019

Вы можете использовать регулярное выражение. Например:

s = """Mcdonald 54875
Mcdonald 654788
Mcdonald 5478654
124 Mcdonald 748415
Mcdonald 12213
34# ABC CHICKEN 45645
4A ABC CHICKEN 5464564
ABC CHICKEN 3474#99
ABC CHICKEN '#455
ABC CHICKEN #7885"""

import re
ans = []
re1=re.compile("(?<![0-9])[a-zA-Z]+")
for l in s.split('\n'):
    res = re1.findall(l)
    ans.append(" ".join(res))

for a in ans:
    print(a)

выход:

Макдональд
Макдональд
Макдональд
Макдональд
Макдональд
ABC CHICKEN
ABC CHICKEN
ABC CHICKEN
ABC CHICKEN
ABC CHICKEN

...