无法访问名称中包含句点的 PySpark 列。在名字里
Cannot Access PySpark Column with Name that has a period . in the name
我正在尝试访问数据框列,但出现无法访问列的奇怪错误。
这是一个最小的工作示例:
tmp = spark.createDataFrame(["10","11","13"], "string").toDF("3p21.31")
display(tmp.select(col("3p21.31")))
但这给出了一个错误:
AnalysisException: cannot resolve '
3p21.31' given input columns: [3p21.31];;
这似乎是矛盾的。
我也试过转义,tmp.select(col(3p21\.31))
没用
如何访问其中包含 .
的列?
尝试使用原始字符串:
tmp = spark.createDataFrame(["10","11","13"], "string").toDF(r"3p21.31")
display(tmp.select(col("3p21.31")))
即使使用重音 ` 来包裹列的名称,它也应该可以工作,如下所示
tmp = spark.createDataFrame(["10","11","13"], "string").toDF("`3p21.31`")
display(tmp.select(col("`3p21.31`")))
我正在尝试访问数据框列,但出现无法访问列的奇怪错误。
这是一个最小的工作示例:
tmp = spark.createDataFrame(["10","11","13"], "string").toDF("3p21.31")
display(tmp.select(col("3p21.31")))
但这给出了一个错误:
AnalysisException: cannot resolve '
3p21.31' given input columns: [3p21.31];;
这似乎是矛盾的。
我也试过转义,tmp.select(col(3p21\.31))
没用
如何访问其中包含 .
的列?
尝试使用原始字符串:
tmp = spark.createDataFrame(["10","11","13"], "string").toDF(r"3p21.31")
display(tmp.select(col("3p21.31")))
即使使用重音 ` 来包裹列的名称,它也应该可以工作,如下所示
tmp = spark.createDataFrame(["10","11","13"], "string").toDF("`3p21.31`")
display(tmp.select(col("`3p21.31`")))