2024-04-20 11:41:51 发布
网友
我试着读一个csv文件的教员。我的目的是统计每一个标准化学位(如博士,博士,法学博士等)的频率文件。那个文件包含相同学位的不同变体(如博士、博士和博士)。在
到目前为止,我已经使用.lower.split()将文本转换成一个全小写的列表角色。但是该列表包含相同学位的不同版本,如(博士vsph.d vs ph.d.)。我如何解决此问题?在
.lower.split()
要解决眼前的问题,还可以删除标点符号。在
.lower().replace('.', '')
您可以尝试使用re.findall和以下模式一起使用,以获得博士学位
re.findall
s = 'Richard Feynman had a Ph.D. and Albert Einstein also had a phd' print(len(re.findall('\\b(?i)ph\.?d\.?\\b', s))) 2
Demo
如果要将所有学位类型计数在一起,则仍可以使用一个regex模式对re.findall进行一次调用,并使用一个替换:
如果需要单独的计数,则可以单独调用re.findall。在
re.sub('[^a-zA-Z]','', degree.lower())
要解决眼前的问题,还可以删除标点符号。在
您可以尝试使用
re.findall
和以下模式一起使用,以获得博士学位Demo
如果要将所有学位类型计数在一起,则仍可以使用一个regex模式对
^{pr2}$re.findall
进行一次调用,并使用一个替换:如果需要单独的计数,则可以单独调用
re.findall
。在相关问题 更多 >
编程相关推荐