使用 selectExpr 选择包含特殊字符的 spark 数据框列

Fla*_*gas 3 special-characters apache-spark-sql pyspark azure-databricks

我的情况是我的列名称Município在字母上带有重音í

我的selectExpr命令因此而失败。有办法解决吗?基本上我有类似下面的表达式:

.selectExpr("...CAST (Município as string) as Município...")
Run Code Online (Sandbox Code Playgroud)

我真正想要的是能够让列的名称与它来时的名称相同,所以将来我不会在不同的表/文件上出现这种问题。

如何让 spark 数据框接受重音或其他特殊字符?

pau*_*ult 8

您可以使用反引号将列名括起来。例如,如果您有以下架构:

df.printSchema()
#root
# |-- Município: long (nullable = true)
Run Code Online (Sandbox Code Playgroud)

用反引号包裹的特殊字符表示列名:

df2 = df.selectExpr("CAST (`Município` as string) as `Município`")
df2.printSchema()
#root
# |-- Município: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)