pyspark 中列名的字符串操作

string manipulation for column names in pyspark

这篇文章很好地概述了如何更改列名。

尽管如此,我还需要做一些我做不到的/稍微调整一下。任何人都可以帮助删除所有 colnames 中的空格吗?它需要例如join 命令和系统方法减少了处理 30 列的工作量。我认为正则表达式和 UDF 的组合效果最好。

示例: 根 |-- 客户:字符串(可为空 = 真) |-- 分支编号:字符串 (nullable = true)

有一个真正简单的解决方案:

for name in df.schema.names:
  df = df.withColumnRenamed(name, name.replace(' ', ''))

如果您想使用与前缀(或后缀)连接的相同列名重命名多个列,这应该有效

df.select([f.col(c).alias(PREFIX + c) for c in columns])