如何解决我想知道如何将数据帧转换为json格式
我想知道如何将数据帧转换为json格式。
name ㅣ type ㅣ count
'james'ㅣ 'message'ㅣ 4
'kane' ㅣ 'text' ㅣ 3
'james'ㅣ 'text' ㅣ 2
'kane' ㅣ 'message'ㅣ 3
----------------------------结果------------------ --------------
将数据帧转换为json格式
data = [
{name : 'james','message' : 4,'text; : 2},{'name' : 'kane','message' :3,'text' : 3}
]
如何将dataframe更改为json数据?
解决方法
您可以使用to_json
和collect_list
函数。
import pyspark.sql.functions as f
df1 = df.withColumn('json',f.struct('name','type','count')) \
.groupBy().agg(f.collect_list('json').alias('data')) \
.withColumn('data',f.to_json(f.struct(f.col('data')))) \
.show(10,False)
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|data |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|{"data":[{"name":"james","type":"message","count":4.0},{"name":"kane","type":"text","count":3.0},{"name":"james","count":2.0},"count":3.0}]}|
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。