Я хочу вытащить имена и электронные письма из текстового файла. Я разделяю строки и перечисляю их, чтобы определить шаблоны RegEx. Не все имена имеют соответствующие электронные письма, поэтому я сначала перечислю имена.
Идентификация имен -> Поскольку между именами, которые я хочу, есть текст, каждому имени предшествует число. Вот так:
Между каждым номером / блоком текста я хочу найти письмо. Вот где я застрял. Я получаю синтаксическую ошибку в отмеченном коде ниже. Первый for-l oop работает, второй нет.
list = []
f = open("/Users/me/Desktop/scrape.txt", "r", encoding="utf8")
txt = f.read().splitlines()
#k is the line counter, line is the text that is pulled out
for k, line in enumerate(txt):
if re.findall(r'\w+,\s*f\s*\.\s*\d\s*\d\s*-\s*\d\s*\d\s*-\s*\d\s*\d\s*\d\s*\d', line):
list.append((k, line))
for i, name_tup in enumerate(list):
l, name = name_tup
**emails = re.findall(r"([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)", txt[l:list[min(l + 1, len(list))])**
if emails:
new_List.append(name, emails)
print(new_List)