繁体   English   中英

是否可以在 pyspark select 数据框中检查列是否存在?

[英]Is it possible to check if a column exists or not, inside a pyspark select dataframe?

我有一个 JSON,其中某些列有时不存在于结构中。 我试图提出一个条件,但它给出了一个错误。

我的代码是:

v_id_row = df.schema.simpleString().find('id:')

df1 = df.select ('name','age','city','email',when(v_id_row > 0,'id').otherwise(lit(""))

我收到以下错误:

TypeError: condition should be a Column

我该如何进行此验证?

你能不能试试:

df1 = df.select (col('name'),col('age'),col('city'),col('email'),when(col('v_id_row') > 0, col('id')).otherwise(lit(""))

这对我行得通。

你可以这样做:

v_id_row = df.schema.simpleString().find('id:')

col_list = ['name','age','city','email']

如果 v_id_row > 0: col_list.append("id")

df1 = df.select(col_list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM