影刀RPA进阶教程Python代码指令做数据清洗——正则提取与字符串处理影刀的流程指令处理点击、输入、表格读写都很顺手但一到字符串处理就吃力了。比如从¥128.00里把128提取出来、从已售10万件里提取10万、从一堆描述文字里找到手机号。这些操作用Python的正则表达式re模块一行搞定但有一个前提Python图标要先点亮。一、在影刀里打开Python代码指令影刀流程画布左侧的指令面板里有一个Python代码指令。拖到画布上弹出一个代码编辑器。注意左下角的Python图标必须是亮的。如果灰色点一下它。代码编辑器里可以写任意Python代码流程中前面步骤产生的变量可以通过影刀内置的方式获取。拼多多店群自动化上架方案二、正则表达式入门从字符串里挑数字电商数据清洗里80%的Python需求都是这个# 从各种格式的价格文本里提取数字importre 价格文本¥128.00价格数字float(re.search(r\d\.?\d*,价格文本).group())# 结果128.0价格文本2 99.9起价格数字2float(re.search(r\d\.?\d*,价格文本2).group())# 结果99.9价格文本3128价格数字3float(re.search(r\d\.?\d*,价格文本3).group())# 结果128.0正则解释\d\.?\d*\d至少一位数字\.?可选的小数点因为有些价格没有小数位\d*小数点后的数字0位或多位三、从销量文本里提取数字“已拼10万件” → 需要知道它到底是多少件。importredefparse_sales(text):把各种销量文本转成数字textstr(text).replace( ,)# 找数字部分matchre.search(r(\d\.?\d*),text)ifnotmatch:return0numfloat(match.group(1))# 判断单位if万intext:numnum*10000elif亿intext:numnum*100000000returnint(num)# 测试print(parse_sales(已拼10万件))# 100000print(parse_sales(已拼1.2万件))# 12000print(parse_sales(已拼556件))# 556print(parse_sales(即将抢光))# 0四、提取手机号、邮箱、URLimportre# 从文本中提取手机号defextract_phone(text):patternr1[3-9]\d{9}phonesre.findall(pattern,str(text))returnphones[0]ifphoneselse# 从文本中提取邮箱defextract_email(text):patternr[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}emailsre.findall(pattern,str(text))returnemails[0]ifemailselse# 从文本中提取URLdefextract_url(text):patternrhttps?://[^\s{}|\\^\[\]]urlsre.findall(pattern,str(text))returnurls# 测试描述请联系客服微信13800138000或发送邮件到serviceshop.comprint(extract_phone(描述))# 13800138000print(extract_email(描述))# serviceshop.com五、字符串常见处理TEMU店群如何管理运营# 去空格和特殊符号 text 连衣裙 2026新款 texttext.strip()# 去首尾空格连衣裙 2026新款texttext.replace(\n,)# 去掉换行符texttext.replace(\t, )# 把tab换成空格# 截取部分文字 标题【顺丰包邮】夏季连衣裙女法式收腰显瘦2026新款# 去掉【】内容importre 标题re.sub(r【.*?】,,标题)# 夏季连衣裙女法式收腰显瘦2026新款# 判断文本包含 if连衣裙in标题and2026in标题:print(是新款连衣裙)# 大小写转换TEMU英文标题 英文标题Womens Summer Dress 2026 New Arrival小写英文标题.lower()# womens summer dress 2026 new arrival大写英文标题.upper()# WOMENS SUMMER DRESS 2026 NEW ARRIVAL六、在采集流程中集成# 影刀流程中采集每条商品时调用Python清洗# Python代码指令 importredefclean_price(price_str):matchre.search(r\d\.?\d*,str(price_str))returnfloat(match.group())ifmatchelse0.0defclean_sales(sales_str):textstr(sales_str)matchre.search(r(\d\.?\d*),text)ifnotmatch:return0numfloat(match.group(1))if万intext:num*10000if亿intext:num*100000000returnint(num)defclean_title(title_str):# 去掉【】[]包裹的内容titlere.sub(r[【\[].*?[】\]],,str(title_str))# 去掉多余空格titlere.sub(r\s, ,title).strip()returntitle# 假设从影刀流程传入raw_price, raw_sales, raw_title清洗后价格clean_price(raw_price)清洗后销量clean_sales(raw_sales)清洗后标题clean_title(raw_title)# 返回清洗后的数据给影刀后续步骤七、常见正则速查表需求正则说明提取数字\d\.?\d*至少一位整数 可选小数点提取手机号1[3-9]\d{9}1开头第二位3-9共11位提取邮箱[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}标准邮箱格式提取URLhttps?://[^\s]http或https开头的链接提取中文[\u4e00-\u9fff]所有中文字符去掉HTML标签[^]匹配HTML标签替换为空去掉空白字符\s空格、tab、换行等作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。
影刀RPA进阶教程_Python代码指令数据清洗正则字符串处理
发布时间:2026/6/11 10:17:00
影刀RPA进阶教程Python代码指令做数据清洗——正则提取与字符串处理影刀的流程指令处理点击、输入、表格读写都很顺手但一到字符串处理就吃力了。比如从¥128.00里把128提取出来、从已售10万件里提取10万、从一堆描述文字里找到手机号。这些操作用Python的正则表达式re模块一行搞定但有一个前提Python图标要先点亮。一、在影刀里打开Python代码指令影刀流程画布左侧的指令面板里有一个Python代码指令。拖到画布上弹出一个代码编辑器。注意左下角的Python图标必须是亮的。如果灰色点一下它。代码编辑器里可以写任意Python代码流程中前面步骤产生的变量可以通过影刀内置的方式获取。拼多多店群自动化上架方案二、正则表达式入门从字符串里挑数字电商数据清洗里80%的Python需求都是这个# 从各种格式的价格文本里提取数字importre 价格文本¥128.00价格数字float(re.search(r\d\.?\d*,价格文本).group())# 结果128.0价格文本2 99.9起价格数字2float(re.search(r\d\.?\d*,价格文本2).group())# 结果99.9价格文本3128价格数字3float(re.search(r\d\.?\d*,价格文本3).group())# 结果128.0正则解释\d\.?\d*\d至少一位数字\.?可选的小数点因为有些价格没有小数位\d*小数点后的数字0位或多位三、从销量文本里提取数字“已拼10万件” → 需要知道它到底是多少件。importredefparse_sales(text):把各种销量文本转成数字textstr(text).replace( ,)# 找数字部分matchre.search(r(\d\.?\d*),text)ifnotmatch:return0numfloat(match.group(1))# 判断单位if万intext:numnum*10000elif亿intext:numnum*100000000returnint(num)# 测试print(parse_sales(已拼10万件))# 100000print(parse_sales(已拼1.2万件))# 12000print(parse_sales(已拼556件))# 556print(parse_sales(即将抢光))# 0四、提取手机号、邮箱、URLimportre# 从文本中提取手机号defextract_phone(text):patternr1[3-9]\d{9}phonesre.findall(pattern,str(text))returnphones[0]ifphoneselse# 从文本中提取邮箱defextract_email(text):patternr[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}emailsre.findall(pattern,str(text))returnemails[0]ifemailselse# 从文本中提取URLdefextract_url(text):patternrhttps?://[^\s{}|\\^\[\]]urlsre.findall(pattern,str(text))returnurls# 测试描述请联系客服微信13800138000或发送邮件到serviceshop.comprint(extract_phone(描述))# 13800138000print(extract_email(描述))# serviceshop.com五、字符串常见处理TEMU店群如何管理运营# 去空格和特殊符号 text 连衣裙 2026新款 texttext.strip()# 去首尾空格连衣裙 2026新款texttext.replace(\n,)# 去掉换行符texttext.replace(\t, )# 把tab换成空格# 截取部分文字 标题【顺丰包邮】夏季连衣裙女法式收腰显瘦2026新款# 去掉【】内容importre 标题re.sub(r【.*?】,,标题)# 夏季连衣裙女法式收腰显瘦2026新款# 判断文本包含 if连衣裙in标题and2026in标题:print(是新款连衣裙)# 大小写转换TEMU英文标题 英文标题Womens Summer Dress 2026 New Arrival小写英文标题.lower()# womens summer dress 2026 new arrival大写英文标题.upper()# WOMENS SUMMER DRESS 2026 NEW ARRIVAL六、在采集流程中集成# 影刀流程中采集每条商品时调用Python清洗# Python代码指令 importredefclean_price(price_str):matchre.search(r\d\.?\d*,str(price_str))returnfloat(match.group())ifmatchelse0.0defclean_sales(sales_str):textstr(sales_str)matchre.search(r(\d\.?\d*),text)ifnotmatch:return0numfloat(match.group(1))if万intext:num*10000if亿intext:num*100000000returnint(num)defclean_title(title_str):# 去掉【】[]包裹的内容titlere.sub(r[【\[].*?[】\]],,str(title_str))# 去掉多余空格titlere.sub(r\s, ,title).strip()returntitle# 假设从影刀流程传入raw_price, raw_sales, raw_title清洗后价格clean_price(raw_price)清洗后销量clean_sales(raw_sales)清洗后标题clean_title(raw_title)# 返回清洗后的数据给影刀后续步骤七、常见正则速查表需求正则说明提取数字\d\.?\d*至少一位整数 可选小数点提取手机号1[3-9]\d{9}1开头第二位3-9共11位提取邮箱[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}标准邮箱格式提取URLhttps?://[^\s]http或https开头的链接提取中文[\u4e00-\u9fff]所有中文字符去掉HTML标签[^]匹配HTML标签替换为空去掉空白字符\s空格、tab、换行等作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。