如果列类型具有某些正则表达式模式,则pyspark忽略行

问题描述 投票:1回答:1

我有一个json格式的数据文件,其中一个字段以字符串和结构类型存在

当它是一个字符串

"class":{"student":"{\"one\":\"one\"}"}

当它是一个结构

    "class": {
        "student": {
            "name": ["aaa"],
            "subject": ["a", "b"],
            "regular": true
        }
    }

现在我想在值为string类型时删除该行。

具体来说,如果值具有'\'这个符号并将其他行转换为json结构类型,我想删除。这样我就可以访问特定值“class.student.name”

pyspark apache-spark-sql pyspark-sql
1个回答
0
投票

假设您的数据框名为df,而您的列col则会过滤掉您不想要的行:

df = df.where('cast(col as string) not rlike "\"')
© www.soinside.com 2019 - 2024. All rights reserved.