Python3中带有数据帧的exec函数

Python3中带有数据帧的exec函数,python,pyspark-dataframes,Python,Pyspark Dataframes,我无法通过动态调用exec函数对现有数据帧进行更改 >>>>df.columns ["col1","col2"] >>>>change = "df.withColumnRenamed('col2', 'column2')" >>>>exec("df =" + change) 电流输出 >>>>df.columns ["col1","col2"] 预期产量 >>>>df.co

我无法通过动态调用exec函数对现有数据帧进行更改

>>>>df.columns
["col1","col2"]
>>>>change = "df.withColumnRenamed('col2', 'column2')"
>>>>exec("df =" + change)
电流输出

>>>>df.columns
["col1","col2"]
预期产量

>>>>df.columns
["col1","column2"]

执行过程没有任何问题。但是该列没有被重命名。我尝试了几次更改,但都没有用

您是否尝试过只检查
df.WithColumnRename('col2','column2')返回的数据帧
?它的列名是什么?是的,我认为输出是未更改的withColumnRenamed方法的状态是:“如果架构不包含给定的列名,则这是不可操作的。”您确定没有在列名中输入错误吗,也许…?让我提供另一个代码-