取消
顯示的結果
而不是尋找
你的意思是:

pyspark——regexp_extract

weldermartins
尊敬的貢獻者

大家好,我正在創建一個正則表達式隻獲取一個字符串的值,但是一些值是負的。我不能夠創建規則構成的負麵價值。你能幫我嗎?

從pyspark.sql。從pyspark.sql進口regexp_extract功能。類型進口StructType、StructField StringType data = [(“01”、“R -pt-BR美元150.00”),(“02”、”——R -pt-BR美元379.52”),(“03”,“[R -pt-BR美元]185.16”),(“04”、“R -pt-BR美元185.16”),]模式= StructType ([\ StructField (“id”, StringType(),真的),\ StructField(“描述”,StringType(),真的),])df = spark.createDataFrame (data =數據,模式=)df.display () df1 = df \ .withColumn(“價值”,regexp_extract(“描述”,R \ d {1 4}。(\ d) {1 4}”, 0)) df1.display ()

圖像

1接受解決方案

接受的解決方案

NhatHoang
重視貢獻二世

你好,

  1. 創建一個列,趕上了-“-”:模式是:“^ \ [-]?”
  2. 創建一個列捕捉數字,你已經完成。
  3. Concat上麵這兩列。

希望它符合你的要求。:slightly_smiling_face:

在原帖子查看解決方案

7回複7

weldermartins
尊敬的貢獻者

@Werner Stinckens

你能幫我嗎?

NhatHoang
重視貢獻二世

你好,

  1. 創建一個列,趕上了-“-”:模式是:“^ \ [-]?”
  2. 創建一個列捕捉數字,你已經完成。
  3. Concat上麵這兩列。

希望它符合你的要求。:slightly_smiling_face:

df1 = df \ .withColumn(“價值”,regexp_extract(“描述”,“\ d {1 4}。\ d {1 4}”, 0)) \ .withColumn (“operador regexp_extract(“描述”,“^ \[-]嗎?”,0))\ .withColumn (value2, concat (“operador”、“價值”))df1.display ()

image.png@Nhat黃平君,謝謝。

weldermartins
尊敬的貢獻者

我發現另一個解決方案,但我不想放棄正則表達式。如果你找到一個方法,一定要。謝謝。

圖像

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map