[英]returning all email addresses of a certain type from a .csv file in python
我整个上午都在用python编写这段代码,但我无法获得它来返回想要的结果。 我有一个.csv文件,其中包含一些模拟客户信息,其中包括电子邮件地址。 我想返回.edu的电子邮件地址列表
这就是我所拥有的(我是Python新手,实际上是在尝试学习Kotlin,而不是python)。此外,也许有比使用regex更好的方法,但是Im试图通过这种方式来实现。 如果有更好的方法,我愿意就什么以及为什么提出建议。
import csv
import re
data = []
with open('customerdata.csv') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
data.append(row[7])
str1 = ' '.join(data)
edupattern = r'\b(.edu)'
regex = re.compile(edupattern, re.IGNORECASE)
for match in regex.findall(str1):
print(match)
问题在于,它仅打印.edu,但是它多次出现在.csv文件中。 为什么我无法打印出整个电子邮件地址?
尝试这个:
import csv
import re
data = []
with open('customerdata.csv') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
if re.search(r'\.edu\b', row[7]): # you could also use row[7].endswith('.edu')
data.append(row[7])
print(' '.join(data))
我认为您的正则表达式应为:
= r"\b(\S+\.edu)"
使用捕获组时,只能获取捕获(即.edu
部分)。 您还应该在捕获中包括所有非S
节奏字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.