Python正则表达式应用于列表

时间:2018-02-24 06:17:15

标签: python regex dataframe

我有一个excel文件,我试图从中提取信息,特别是从第5列('摘要')。 “摘要”的每个元素都是'是一个字符串;我想找到所提到的人的年龄。年龄信息将是" John Smith,23岁,"或者"约翰史密斯,一个23岁的"。第一行数据不是有效的,所以我跳过了它。我无法弄清楚我做错了什么。我正在搜索2位数后跟逗号或短划线,然后尝试返回2位数。 谢谢你的帮助

import pandas as pd

mf=pd.ExcelFile(myFile)

m=mf.parse('myDataFile')

age = []
s = m['Summary']

for a in s[1:]:
    x = re.search('[0-9]{2}',a)
    y=x+1
    age.append(a[x,y])

1 个答案:

答案 0 :(得分:0)

我没有意识到正则表达式返回了一个“匹配”对象,而不是一个整数。我能够使用它来实现它:

s=m['Summary']
age =[]
n=re.compile('\d\d(,|-)')

for t in s:
    x= re.search(n,t)
    if x:
        b=x.group(0)
        age.append(b[:2])
    else:
        age.append("NA")