TypeError: Object of type ‘int64‘ is not JSON serializable

TypeError: Object of type ‘int64‘ is not JSON serializable,第1张

TypeError: Object of type ‘int64‘ is not JSON serializable

错误描述:使用如下方法将内容以json格式写入:

def write_merged_dataset(feature_test, bert_predictions, label_test, test_data_path):
    with open(test_data_path, 'w', encoding='utf-8') as fp:
        for idx in range(len(label_test)):
            line = {}
            line['id'] = str(idx)
            for i, feature in enumerate(feature_test[idx]):
                line['x%d' % i] = feature
            line['bert_predictions'] = bert_predictions[idx]
            line['label'] = label_test[idx]
            fp.write(json.dumps(line) + 'n')
    print('data stored at ', test_data_path)
    return True

结果报错:

TypeError: Object of type 'int64' is not JSON serializable

原因是我传入的bert_predictions参数是一个numpy.array,而numpy数组存储整数时是以class ,无法被json序列化。

解决方法:转成list再处理

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4827860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存