python - 删除“。” 使用正则表达式从数据框中的数字字符串中删除所有内容
问题描述
我已经从 SAP 下载数据并尝试进行 ETL。数据集如下所示。
11.780,00
13.824,00
0,00
33.024,00
我试图先删除“点”,然后用点替换“逗号”以下代码使整个列为空白(一切都消失了)这只是一个简单的正则表达式替换语句
sales = sales.withColumn('gross', regexp_replace('gross', '.', ''))
当我再次尝试如下
sales = sales.withColumn('gross', regexp_replace('gross', '.', ':'))
输出时,如下所示
:::::::::::::
我该如何处理这种转换。有点奇怪。谢谢。
解决方案
正如 RahulRauts 评论的那样:.
在正则表达式中使用时是一个特殊字符。它的意思是“任何单个字符”。如果你的意思是文字,你需要在前面加上一个反斜杠来转义它'.'
sales = sales.withColumn('gross', regexp_replace('gross', '\.', ''))
请参阅https://docs.python.org/3.8/library/re.html:
特殊字符是:
.
(点。)在默认模式下,这匹配除换行符以外的任何字符。[...]
\
要么转义特殊字符(允许您匹配'*'、'?'等字符),要么发出特殊序列的信号;下面讨论特殊序列。
推荐阅读
- scala - Scala [Functional]:查找列表中可能重复的元素的实际索引
- c# - 具有用户权限的基于 JWT 令牌的授权 Asp.net core 2.0
- android - 显示 suffeled 视图的活动
- api - 如何在 GCP 中获取 VM 实例的账单?
- php - 在 Yum 上更新 php mongo
- amazon-web-services - VPC 中的 AWS Lambda 有时无法访问 Internet
- react-native - 反应原生的平面列表行的全局或静态状态
- java - 下拉刷新时,回收站列表中不显示新的获取数据
- mongodb - 无法在平均堆栈中散列密码
- android - 传递布尔值以在 Android 数据绑定中包含标签