在尝试解码我之前编码的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
答案 0 :(得分:1)
根据https://developer.rhino3d.com/guides/rhinopython/python-statements/,可能不允许您将(放在新行上。
然后bs = bson.BSON.encode
实际上是在bs中设置方法! ()是新声明。
而且您只保留for循环中的最后一个,这就是您所期望的吗?
而且decode()也可能也必须具有()。