我想帮助将字节转换为字典,我有;
收到消息:b'req:21; num:54771377; INFO :; GATE:N;'
我想要
d1 = {'req':21,'num':54771377,'INFO':,'GATE':N}
谢谢
答案 0 :(得分:1)
将gencomp通过管道传输到字典中(删除空字段)。将字节转换为字符串后,按分号拆分(假设:字节对象内的数据为ASCII)
s = b"req:21;num:54771377;INFO:;GATE:N;"
d = dict(toks.split(":") for toks in s.decode("ascii").split(";") if toks)
print(d)
结果:
{'INFO': '', 'GATE': 'N', 'req': '21', 'num': '54771377'}
备注:
一个dictcomp会像这个d = {toks.split(":")[0] : toks.split(":")[1] for toks in s.decode("ascii").split(";") if toks}
一样诱人,但这意味着你在结肠上分裂两次太多了
如果你有非ascii数据,你仍然可以完成这项工作,但数据将保持为bytes
:d = dict(toks.split(b":") for toks in s.split(b";") if toks)
答案 1 :(得分:1)
这样的东西?
{u'INFO': u'', u'GATE': u'N', u'num': u'54771377', u'req': u'21'}
结果:
del df['column_name']