簡體   English   中英

使用正則表達式過濾 pyspark.RDD

[英]Filter a pyspark.RDD with regex

我有一個 pyspark.RDD 包含我想過濾掉的日期。 日期以這種形式出現在我的 RDD 中:

data.collect() = ["Nujabes","Hip Hop","04:45 16 October 2018"]

我一直在嘗試通過正則表達式過濾掉這些:

r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}"

但我做錯了:

data = data.filter(lambda x: x != r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}")

對於上面給定的data ,所需的 output 將是

data.collect() = ["Nujabes","Hip Hop"]

您可以使用 Python 正則表達式進行過濾:

data2 = data.filter(lambda x: not re.match(r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}", x))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM