来自 table 的 Select 行,该列中至少包含一个字母表
Select rows from a table which contains at-least one alphabet in the column
我在 Databricks 的 table 下有一个名为 name
的列。
我想找到一种方法来 select 仅 table 中的那些行,其中在 name
列中包含至少一个字母字符。
列中的示例值:
12243
#123-(23)
$ank
ada124$%
()
!asd
122acs#
gmgd32
预期:我只需要选择其中至少包含一个字母表的那些值。或者换句话说,我需要一种方法来排除所有只包含数字和特殊字符的行。
因此预期输出应如下所示:
$ank
ada124$%
!asd
122acs#
gmgd32
因为其中至少包含一个字母表。
我在数据块中使用 pyspark-sql。
您可以将 rlike
与正则表达式一起使用:
import pyspark.sql.functions as F
df.filter(F.col("name").rlike(".*[a-zA-Z]+.*")).show()
#+--------+
#| name|
#+--------+
#| $ank|
#|ada124$%|
#| !asd|
#| 122acs#|
#| gmgd32|
#+--------+
Spark SQL 等效查询:
SELECT *
FROM df
WHERE name RLIKE '.*[a-zA-Z]+.*'
我在 Databricks 的 table 下有一个名为 name
的列。
我想找到一种方法来 select 仅 table 中的那些行,其中在 name
列中包含至少一个字母字符。
列中的示例值:
12243
#123-(23)
$ank
ada124$%
()
!asd
122acs#
gmgd32
预期:我只需要选择其中至少包含一个字母表的那些值。或者换句话说,我需要一种方法来排除所有只包含数字和特殊字符的行。
因此预期输出应如下所示:
$ank
ada124$%
!asd
122acs#
gmgd32
因为其中至少包含一个字母表。
我在数据块中使用 pyspark-sql。
您可以将 rlike
与正则表达式一起使用:
import pyspark.sql.functions as F
df.filter(F.col("name").rlike(".*[a-zA-Z]+.*")).show()
#+--------+
#| name|
#+--------+
#| $ank|
#|ada124$%|
#| !asd|
#| 122acs#|
#| gmgd32|
#+--------+
Spark SQL 等效查询:
SELECT *
FROM df
WHERE name RLIKE '.*[a-zA-Z]+.*'