【发布时间】:2021-09-04 10:57:53
【问题描述】:
我正在从具有 json 数据的文本文件创建一个数据框(df)。创建后的数据框如下所示。
+------------------------------------------------------------------------------------+
|data |
+------------------------------------------------------------------------------------+
|"{"Zipcode":704,"ZipCodeType":"STANDARD","City":"PARC PARQUE","State":"PR"}" |
|"{"Zipcode":704,"ZipCodeType":"STANDARD","City":"PASEO COSTA DEL SUR","State":"PR"}"|
+------------------------------------------------------------------------------------+
我想去掉列数据开头和结尾的双引号。所以最终的数据框应该是这样的
+------------------------------------------------------------------------------------+
|data |
+------------------------------------------------------------------------------------+
|{"Zipcode":704,"ZipCodeType":"STANDARD","City":"PARC PARQUE","State":"PR"} |
|{"Zipcode":704,"ZipCodeType":"STANDARD","City":"PASEO COSTA DEL SUR","State":"PR"} |
+------------------------------------------------------------------------------------+
以下是我编写的用于从开头删除双引号的代码
df = df.withColumn('data1', F.regexp_replace("data",'^\"{\"','{\"'))
但我收到此错误
^"{" ^ 在 java.util.regex.Pattern.error(Pattern.java:1957)
你能帮我解决这个问题吗?
【问题讨论】:
标签: json dataframe apache-spark pyspark