0
task = datastore.Entity(client.key('ModelDataTest', prod_id))
        task.update({
            'ProductId': '1234',
            'ListOfRankedRelevantItems.ProductId': ['345', '456','567'],
            'ListOfRankedRelevantItems.SimilarityScore': ['0.98', '0.89','0.77']
        })
        client.put(task)

使用上面的代码,我在 GC-datastore 中创建了一个实体,但是我将 prod_id 作为 blob,例如 'MTIzNDU=' 而不是字符串 '1234' 和 ProductId 作为 ["MzIx","MzQ1","NDU2"] 代替['345', '456','567'] 和 SimilarityScore 为 ["MC45OA==","MC44Nw==","MC43Nw=="] 而不是 ['0.98', '0.89','0.77' ] 任何人都知道为什么会这样以及如何获得正确的值。

4

1 回答 1

0

问题是,在 python 2 中,字符串表示为字节流,您必须将其转换为 unicode 才能在 gcloud 数据存储中正确查看结果。只需使用 unicode() 方法即可解决此问题。

于 2016-07-14T08:58:15.357 回答