检查Spark DataFram中的StructType中是否存在元素

2024-04-19 23:30:42 发布

您现在位置:Python中文网/ 问答频道 /正文

如果{/strong>在之后有一个嵌套的列,那么{/strong>会有一个嵌套在的列之后。在

简单地检查df.columns['a']['b']['c']['d']或{}似乎不起作用,所以我发现可以使用df.schema函数。 所以我只是重复一下,例如:

y = df.schema['a'].dataType['b'].dataType['c'].dataType

然后通常检查d是否在y中。在

我的方法是尝试y['d'],如果失败,那么它就不存在了。 但我不认为使用尝试是最好的方法。在

所以我试着检查if 'd' in y,但显然这不起作用,尽管如果元素y['d']存在,那么检索它就可以了。在

y的类型是StructType(List(StructField(d,StringType,true),...other columns))

所以我真的不知道如何正确地检查d是否在y中,当我可以检索到y['d']时,为什么不能直接检查if 'd' in y?有人能帮忙吗?我也是python新手,但我找不到或想不出其他解决方案。在


Tags: columns方法函数in元素类型dfif