Einfache Überprüfung df.columns['a']['b']['c']['d'] oder df.columns['a.b.c.d'] scheint nicht zu funktionieren, daher habe ich festgestellt, dass die df.schema-Funktion verwendet werden kann.
Also iteriere ich einfach durch z. B.:
Code: Select all
y = df.schema['a'].dataType['b'].dataType['c'].dataType
Ich habe es einfach so gemacht: try y['d'], und wenn es fehlschlägt, dann existiert es nicht.
Aber ich denke nicht, dass die Verwendung von try der beste Weg ist.
Also habe ich versucht zu überprüfen, ob 'd' in y, aber anscheinend funktioniert das nicht, obwohl das Abrufen des Elements y['d'] funktioniert, wenn es existiert.
Der Typ von y ist StructType(List(StructField(d,StringType,true),...andere Spalten))
Ich weiß also nicht wirklich, wie ich richtig prüfen kann, ob d in y ist. Warum kann ich nicht direkt prüfen, ob 'd' in y ist, wenn ich y['d'] abrufen kann? Kann jemand helfen? Ich bin auch neu in Python, kann aber keine andere Lösung finden oder mir vorstellen.
Mobile version