使用“正则”实现不规则数据的中英文提取
2023-03-20 14:40:38 时间
1、对于本文的说明
这篇文章,是帮一个群友回答的问题。他的需求是:对于中英文混合的行,只需要中文。对于全英文的行,返回整个英文行。对于全中文的行,返回整个中文行。
2、解答如下
import pandas as pd
import re
df = pd.read_excel(r"G:6Tipdm est.xlsx")
display(df)
def func(x):
if re.findall("[u4E00-u9FD5]+",x) == []:
z = re.findall("[^u4E00-u9FD5,]+",x)
z = "".join(z).strip()
return z
else:
z = re.findall("[u4E00-u9FD5, ]+",x)
z = "".join(z).strip()
return z
df["aa"] = df["产品"].apply(func)
df
结果如下:
3、上述问题的扩展(中英文分开提取)
import pandas as pd
import re
df = pd.read_excel(r"G:6Tipdm est.xlsx")
display(df)
def func(x):
if re.findall("[u4E00-u9FD5]+",x) != []:
z = re.findall("[^u4E00-u9FD5,]+",x)
z = "".join(z).strip()
return z
elif re.findall("[u4E00-u9FD5]+",x) == []:
z = re.findall("[^u4E00-u9FD5,]+",x)
z = "".join(z).strip()
return z
else:
return ""
def func2(x):
if re.findall("[u4E00-u9FD5]+",x) != []:
z = re.findall("[u4E00-u9FD5, ]+",x)
z = "".join(z).strip()
return z
else:
return ""
df["aa"] = df["产品"].apply(func)
df["bb"] = df["产品"].apply(func2)
df
结果如下:
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假