简单的问题:假设我们
import pyspark.sql.functions as F
然后如何从pyspark.sql.column.Column对象F.col('a')
中恢复列名字符串'a'。
例如,如果我们输入str(F.col('a'))
,则具有
而不是原始列名'a'。
from pyspark.sql.functions import lit, col
from pyspark.sql.column import Column
from py4j.protocol import Py4JError
def name(self):
try:
return self._jc.expr().name()
except Py4JError:
return None
Column.name = property(name)
这将给:
from pyspark.sql.functions import lit, col
col("a").name
'a'
lit(1).name is None
True
re.findall("\<b'(.*?)\'>",str(f.col('a')))[0]
> a
希望有帮助