How can I get all column names where datatype is not StringType? I have:
dt = [(10,20,50, 'Big'),
(4,5,20,'Small'),
(3,1,30,'Middle'),
(34,100,40,'Any')
]
dtColumns = ["valA","valB", "valC","text"]
df = spark.createDataFrame(data=dt, schema = dtColumns)
for f in df.schema.fields:
if f !='StringType':
print(df.columns)
But this doesn't work. I am still receiving also StringTypes and also duplicates.
Result:
['valA', 'valB', 'valC', 'text']
['valA', 'valB', 'valC', 'text']
['valA', 'valB', 'valC', 'text']
['valA', 'valB', 'valC', 'text']