字符串作为过滤器中的条件

String as a condition in a filter

在我的程序中,我希望用户能够传递一个字符串作为条件。例如,如果用户输入是“col(X) | col(Y)”,我希望这个字符串成为Dataframe 的过滤函数中的过滤条件。所以一个例子是这样的:

condition = "col(X) | col(Y)"
dataFrame.filter(condition)

我在文档中看到我需要一个 Expr 来传递过滤器,但是我怎样才能将字符串转换为 Expr?

您可以像这样从 Python 使用 eval()、builtin-function:

condition = "col(X) | col(Y)"
dataFrame.filter(eval(condition))