在 PySpark 中获取列的名称/别名

sur*_*kal 5 apache-spark pyspark

我正在定义一个这样的列对象:

column = F.col('foo').alias('bar')
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用str(column). 但是我怎样才能获得列的别名呢?

在这个例子中,我正在寻找一个函数FN,其中FN(column)返回字符串bar

pau*_*ult 5

一种方法是通过正则表达式:

from pyspark.sql.functions import col
column = col('foo').alias('bar')
print(column)
#Column<foo AS `bar`>

import re
print(re.findall("(?<=AS `)\w+(?=`>$)", str(column)))[0]
#'bar'
Run Code Online (Sandbox Code Playgroud)

  • 我正在为某种通用模块执行此操作,其中我正在处理未绑定到数据框的列。 (3认同)