我有一个非常大的pysparkDataframe,它从json文件获取数据。这是模式的一个例子
|-- Col1: array (nullable = true)
| |-- element: double (containsNull = true)
|-- Col2: struct (nullable = true)
| |-- Col2-Col1: string (nullable = true)
| |-- Col2-Col2: string (nullable = true)
| |-- Col2-Col3: string (nullable = true)
当我执行以下操作时,我无法获取结构中的所有列名。
df.columns
out: ['Col1', 'Col2']
我需要用下划线替换所有连字符,以便将其写入配置单元。配置单元不接受列名中的“-”、“[”、“/”等。
例如,
列名应更改为
|-- Col1: array (nullable = true)
| |-- element: double (containsNull = true)
|-- Col2: struct (nullable = true)
| |-- Col2_Col1: string (nullable = true)
| |-- Col2_Col2: string (nullable = true)
| |-- Col2_Col3: string (nullable = true)
代码需要具有足够的通用性,以便可以重命名许多列,而无需对值进行硬编码。
暂无答案!
目前还没有任何答案,快来回答吧!