python 解析字符串以获得模式字符串
python parse string for patterned string
我需要解析 Pandas DataFrame 列,其中包含一个长字符串,我需要在其中找到遵循 PXXXXX 特定模式的 ID。 id 总是以 'P' 开头,后跟 5 个随机字符或数字,即 PXYZAB。
例如,
columnName
|||||||||||||||||||||Fefelajfeaflekj;alfkjeaf_PXXXXX
||||XYz<,,,ffeals89fes|PXXXXX_fewalfeslfesfsfjfes
wh;lajkfeklaflkejasefj;lase|||||xxxx_PXXXX|wha;felkjasf
看看下面的方法是否适合你..
更新数字请求
import re
s='||||XYz<,,,ffeals89fes|PUVWXY_fewalfeslfesfsfjfes\nwh;lajkfeklaflkejasefj;lase|||||xxxx_PA1CDE|wha;felkjasf'
colIdx='Col Header Name in Data Frame where the string is' #OR just the 1 if it is 2nd column that you want to check and there are no headers in your data frame.
ids=[m for idx, row in df.iterrows() for m in re.findall('P[A-Z0-9]{5}',row[colIdx])]:
输出
PUVWXY
PA1CDE
请注意,这仅捕获 P
后跟五个 大写 字母或数字。
import pandas as pd
df = read_excel(c:\......)
df.head()
输出
String
|||||fe;jlkajf;lkeja;fji_PXXXX
;ljf;oeiaf;ifs[op[[pof[PXXXX,;lkjf;lej;afle
[xyzPXXXX]
解决方案
df['patterns'] = df['String'].str.findall('P[A-Za-z0-9]{5}')
输出
String patterns
|||||fe;jlkajf;lkeja;fji_PXXXX PXXXXX
;ljf;oeiaf;ifs[op[[pof[PXXXX,;lkjf;lej;afle PXXXXX
[xyzPXXXX] PXXXXX
我需要解析 Pandas DataFrame 列,其中包含一个长字符串,我需要在其中找到遵循 PXXXXX 特定模式的 ID。 id 总是以 'P' 开头,后跟 5 个随机字符或数字,即 PXYZAB。
例如,
columnName
|||||||||||||||||||||Fefelajfeaflekj;alfkjeaf_PXXXXX
||||XYz<,,,ffeals89fes|PXXXXX_fewalfeslfesfsfjfes
wh;lajkfeklaflkejasefj;lase|||||xxxx_PXXXX|wha;felkjasf
看看下面的方法是否适合你..
更新数字请求
import re
s='||||XYz<,,,ffeals89fes|PUVWXY_fewalfeslfesfsfjfes\nwh;lajkfeklaflkejasefj;lase|||||xxxx_PA1CDE|wha;felkjasf'
colIdx='Col Header Name in Data Frame where the string is' #OR just the 1 if it is 2nd column that you want to check and there are no headers in your data frame.
ids=[m for idx, row in df.iterrows() for m in re.findall('P[A-Z0-9]{5}',row[colIdx])]:
输出
PUVWXY
PA1CDE
请注意,这仅捕获 P
后跟五个 大写 字母或数字。
import pandas as pd
df = read_excel(c:\......)
df.head()
输出
String
|||||fe;jlkajf;lkeja;fji_PXXXX
;ljf;oeiaf;ifs[op[[pof[PXXXX,;lkjf;lej;afle
[xyzPXXXX]
解决方案
df['patterns'] = df['String'].str.findall('P[A-Za-z0-9]{5}')
输出
String patterns
|||||fe;jlkajf;lkeja;fji_PXXXX PXXXXX
;ljf;oeiaf;ifs[op[[pof[PXXXX,;lkjf;lej;afle PXXXXX
[xyzPXXXX] PXXXXX