辞書 user_dict があり、各ユーザー値のリストを作成します。このリストには json オブジェクトが含まれます。
user_dict[user].append(obj)
今、この辞書のすべての項目を印刷したいのですが、リストの各項目からいくつかのフィールドを選択するだけなので、辞書は次のようになります。ここには1人のユーザーのみをリストします
{u'user1':[{u'host_dst': {u'addr': u'195.149.144.60', u'vid': 0, u'port': 80},
'usi': '7932fee11ba72ae84180044d75521368', u'host_src': {u'addr': u'83.233.59.215',
u'vid': 0, u'port': 51068},item2...]}
私がしたことは次のとおりです。
for item in user_dict.values():
fd_out1.write("%s\t%s\n" % (item["host_dst"][addr],item["host_dst"]["vid"]))
そしてそれは戻ります:
TypeError: list indices must be integers, not str
たとえば、以前は obj["host_dst"][addr] を使用して値 195.149.144.60 を表し、正常に動作しましたが、ここで何かを出力したい場合は動作しません。誰でも助けることができますか?どうもありがとう!!