其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

Python dataframe 正则表达式应用

GG网络技术分享 2025-03-18 16:14 0


问题描述:

我有一个Dataframe

df = pd.DataFrame({'content':['A Name:[MINSDDL], Code:[KRKN]','A Name:[LAVRION]','C:[ANGELA]','C:[KUMASI]']})

我想要用正则表达式的方法 提取Code:[] ; A Name:[] ; C:[] 里面的值
结果像这样子


请各位帮忙

网友观点:

import pandas as pd

import re

def fun(se):

r1 = re.findall(r'Code:\\[(.*?)\\]', se['content'])

if r1 == []:

r1 = ['']

r2 = re.findall(r'A Name:\\[(.*?)\\]', se['content'])

if r2 == []:

r2 = ['']

r3 = re.findall(r'C:\\[(.*?)\\]', se['content'])

if r3 == []:

r3 = ['']

return r1[0], r2[0], r3[0]

df = pd.DataFrame({'content':['A Name:[MINSDDL], Code:[KRKN]','A Name:[LAVRION]','C:[ANGELA]','C:[KUMASI]']})

print(df)

df[['B', 'C', 'D']] = df.apply(fun, axis = 1, result_type='expand')

print(df)

'''--result

content

0 A Name:[MINSDDL], Code:[KRKN]

1 A Name:[LAVRION]

2 C:[ANGELA]

3 C:[KUMASI]

content B C D

0 A Name:[MINSDDL], Code:[KRKN] KRKN MINSDDL

1 A Name:[LAVRION] LAVRION

2 C:[ANGELA] ANGELA

3 C:[KUMASI] KUMASI

'''

Python正则表达式的运用

最近在MOOC上学习嵩天老师的《Python网络爬虫与信息提取》,非常好的一门课程。相比互联网上其他爬虫教程,这门课的优势在于系统性。该课程用较短的时间介绍了入门爬虫的知识点,并辅以实例练习,帮助学习者快速搭建起一个爬虫的知识框架。 此为正则表达式部分的课程笔记。 正则表达式(regular expression),简称 regex,或 RE,是用来简洁表达一组字符串的表达式,是一种通用的字符串表达框架。正则表达式可用一行字符串来表达有限或无限个字符串的特征。在网络爬虫的过程中,可以在解析好的网页文本中搜索满足一定特征的字符串。 文中的部分图片来自嵩天老师的课程课件截图。

正则表达式的应用范围很广阔,不仅仅用在python中。因此学习正则表达式的重中之重在于学习正则表达式的常用操作符,学会自己按照需要编写正则表达式语句。本文分为两个部分。第一个部分介绍正则表达式的基础语法并辅以一些经典实例;第二部分介绍python中的RE库,该库可以编译正则表达式语句,并实现文本查找匹配以及修改的功能。

一、 正则表达式的语法


正则表达式语句就是由这些操作符组合而成的。上述操作符右侧的实例,说明了该操作符的简单用法。在实际应用中,需要结合实际场景,通过各种操作符的组合来编写出正则表达式。以下是一些应用正则表达式的经典案例,理解这些案例,有助于你更好地理解正则表达式操作符的用法。



二、 RE库的使用

RE库是python中用来解析正则表达式的库。 调用方式:import re

小知识:raw string,是不包含对转义符再次转义的字符串。使用方式为在普通字符串前加个r,即可忽略字符串中出现的转义字符。例如:fpath = r"c:\\program",在python中等价于fpath = "c:\\\\program"。用此方法使得字符串表达更简洁。



re库常见函数解析

标签:

提交需求或反馈

Demand feedback