Convert numpy.nd array to json
本问题已经有最佳答案,请猛点这里访问。
我有一个数据框genre_rail,其中一列包含
其中的数组如下所示:
1 2 3 | ['SINGTEL_movie_22906' 'SINGTEL_movie_22943' 'SINGTEL_movie_24404' 'SINGTEL_movie_22924' 'SINGTEL_movie_22937' 'SINGTEL_movie_22900' 'SINGTEL_movie_24416' 'SINGTEL_movie_24422'] |
我尝试了以下代码
1 2 | 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
我需要输出为
1 2 3 4 | {"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"]} |
如何使用
然后您可以像这样将其写入json:
1 2 3 | 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。 下面的代码可能会帮助您
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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_contend_id':['SINGTEL_movie_22906','SINGTEL_movie_22943','SINGTEL_movie_24404SINGTEL_movie_22924','SINGTEL_movie_22937','SINGTEL_movie_22900SINGTEL_movie_24416','SINGTEL_movie_24422']