簡體   English   中英

應用於列表的 Python 正則表達式

[英]Python regular expression applied to list

我有一個 excel 文件,我試圖從中提取信息,特別是從第 5 列(“摘要”)中提取信息。 'Summary' 的每個元素都是一個字符串; 我試圖找到所提到的人的年齡。 年齡信息將是“約翰·史密斯,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])

我沒有意識到正則表達式返回的是“匹配”對象,而不是整數。 我能夠使用它讓它工作:

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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM