将numpy.nd数组转换为json

2024-04-28 09:42:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一种数据帧类型的rail,其中一列包含numpy.ndarray。数据帧如下所示datframe

其中的数组如下所示:

['SINGTEL_movie_22906' 'SINGTEL_movie_22943' 'SINGTEL_movie_24404'
 'SINGTEL_movie_22924' 'SINGTEL_movie_22937' 'SINGTEL_movie_22900'
 'SINGTEL_movie_24416' 'SINGTEL_movie_24422']

我试过下面的代码

import json
json_content = json.dumps({'mydata': [genre_rail.iloc[i]['content_id'] for i in range(len(genre_rail))] })

但有个错误

TypeError: array is not JSON serializable

我需要输出为

{"Rail2_contend_id":
["SINGTEL_movie_22894","SINGTEL_movie_22898",
"SINGTEL_movie_22896","SINGTEL_movie_24609","SINGTEL_movie_2455",
"SINGTEL_movie_24550","SINGTEL_movie_24548","SINGTEL_movie_24546"]}

Tags: 数据代码importnumpyidjson类型数组
2条回答

不如使用.tolist方法将数组转换为json。 然后可以将其写入json,如下所示:

np_array_to_list = np_array.tolist()
json_file = "file.json" 
json.dump(b, codecs.open(json_file, 'w', encoding='utf-8'), sort_keys=True, indent=4)

加载字典中的所有数据,然后将其转储到json。下面的代码可能会帮助您

import json

#Data
d = ['SINGTEL_movie_22906', 'SINGTEL_movie_22943', 'SINGTEL_movie_24404'
 'SINGTEL_movie_22924', 'SINGTEL_movie_22937', 'SINGTEL_movie_22900'
 'SINGTEL_movie_24416', 'SINGTEL_movie_24422']

#Create dict
dic = {}
dic['Rail2_contend_id'] = d

print dic

#Dump data dict to jason
j = json.dumps(dic)

输出

{Rail2_content_id':['SINGTEL_movie_22906'、'SINGTEL_movie_22943'、'SINGTEL_movie_24404; SINGTEL_movie_22924'、'SINGTEL_movie_22937'、'SINGTEL_movie_22900; SINGTEL_movie_24416'、'SINGTEL_movie_24422']}

相关问题 更多 >