如何在 python 中消除 apache spark 数据帧中的标头和尾标
Posted
技术标签:
【中文标题】如何在 python 中消除 apache spark 数据帧中的标头和尾标【英文标题】:How to eliminate header and trailer in apache spark dataframe in python 【发布时间】:2020-09-03 12:38:42 【问题描述】:我的 .dat 格式的数据框如下所示
_c0
This*is*header
siva*2121*123821*3123
sankar*2121*123821*3123
hraju*2121*123821*3123
santhi*2121*123821*3123
This*is*trailer
我想删除第一行 Thisisheader 和最后一行 Thisistrailer,这里的 '*' 是分隔符。我想用 4 列创建如下数据框。请在 python pyspark 库中提供解决方案
表格格式的预期输出:
C1 C2 C3 C4
siva 2121 123821 3123
sankar 2121 123821 3123
hraju 2121 123821 3123
santhi 2121 123821 3123
【问题讨论】:
【参考方案1】:如果 header 和 trailing 有不同的拆分计数,那么您可以按计数过滤。
df.withColumn('array', split('_c0', '\*')) \
.withColumn("count", size('array')) \
.filter('count > 3') \
.select(*[col('array')[i].alias('col' + str(i)) for i in range(0, 4)]) \
.show()
+------+----+------+----+
| col0|col1| col2|col3|
+------+----+------+----+
| siva|2121|123821|3123|
|sankar|2121|123821|3123|
| hraju|2121|123821|3123|
|santhi|2121|123821|3123|
+------+----+------+----+
【讨论】:
以上是关于如何在 python 中消除 apache spark 数据帧中的标头和尾标的主要内容,如果未能解决你的问题,请参考以下文章
在 Vue 客户端和服务器应用程序中如何消除对 CORS 的需要?
python/zip:如果提供了文件的绝对路径,如何消除 zip 存档中的绝对路径?