我正在尝试将以下pyspark数据帧保存到json:
ID VARIABLE_1
1 1
2 0
3 0
4 1
5 0
但是我需要json是这样的:
{ "1": {"VARIABLE_1": 1} }
{ "2": {"VARIABLE_1": 0} }
{ "3": {"VARIABLE_1": 0} }
{ "4": {"VARIABLE_1": 1} }
{ "5": {"VARIABLE_1": 0} }
保存到json时,我得到以下信息:
{ "ID":"1", "VARIABLE_1": 1}
{ "ID":"2", "VARIABLE_1": 0}
{ "ID":"3", "VARIABLE_1": 0}
{ "ID":"4", "VARIABLE_1": 1}
{ "ID":"5", "VARIABLE_1": 0}
我正在尝试保存
df.write.mode("overwrite").format("json").save(json_path)
我尝试使用create_map并得到了这样的数据框:
NEW_COLUMN_NAME
{ "1": {"VARIABLE_1": 1} }
{ "2": {"VARIABLE_1": 0} }
{ "3": {"VARIABLE_1": 0} }
{ "4": {"VARIABLE_1": 1} }
{ "5": {"VARIABLE_1": 0} }
但是当我尝试将这个新的数据帧保存到json时,我得到了:
{"NEW_COLUMN_NAME":{"1":{"VARIABLE_1":1}}}
{"NEW_COLUMN_NAME":{"2":{"VARIABLE_1":0}}}
{"NEW_COLUMN_NAME":{"3":{"VARIABLE_1":0}}}
{"NEW_COLUMN_NAME":{"4":{"VARIABLE_1":1}}}
{"NEW_COLUMN_NAME":{"5":{"VARIABLE_1":0}}}
我真的不知道该怎么办,有人知道吗?
谢谢!
答案 0 :(得分:0)
我如何解决此问题:
-使用collect()收集create_map数据框
-用于制作数据帧每一行的字典
-在字典中使用json.dumps
-使用open(path,“ w”)保存