builtins.TypeError:无法将“方法”对象转换为字节

时间:2019-05-21 10:04:28

标签: python decode encode bson

在尝试解码我​​之前编码的bson数据时,我收到“ builtins.TypeError:无法将'方法'对象转换为字节”的信息。我想将解码后的数据放入每个循环的字典中(以将其插入mongoDb集合中)。

我试图这样解码它:

1-解码器数据= bson.BSON(bs).decode(),它返回TypeError

2-变换=字节(bs)

decode_data = bson.BSON(transform).decode():它返回相同的错误。

 for row in metaData:   
        bs = bson.BSON.encode
        (
         {
            'dt': datetime.now(),
            'cid': str(row['clt_id']),
            'pid': str(row['clt_pro_id']),
            'sid': str(row['sit_id']),

            'mtr mid': mid,
            'mtr ez': int(row['met_eziview']),
            'mtr gwt': int(row['met_is_greenwatch_trading']),
            'mtr gs': int(row['met_is_greenstart']),
            'mtr net': int(row['met_without_gprs_network']),
            'mtr act': int(row['sim_is_deactivated']) if row['sim_is_deactivated'] is not None else 1,
            'mtr dt': row['met_first_production_date'] if row['met_first_production_date'] is not None else datetime.min,
            'mtr hea': int(row['inv_pan_heading']),
            'mtr slo': int(row['inv_pan_slope']),
            'mtr wp': wp,
            'mtr _t': sMtdPhases,
            'adr lat': float(row['ad_latitude']),                       
            'adr lon': float(row['ad_longitude']),                       
            'adr zip': str(row['ad_cp']),                       
         }
        )  
 decode_datas = bson.BSON(bs).decode

1 个答案:

答案 0 :(得分:1)

根据https://developer.rhino3d.com/guides/rhinopython/python-statements/,可能不允许您将(放在新行上。
然后bs = bson.BSON.encode实际上是在bs中设置方法! ()是新声明。
而且您只保留for循环中的最后一个,这就是您所期望的吗?
而且decode()也可能也必须具有()。