私は、ユーザー名を取得するより大きなプロジェクトに関してこのコードを作成しています。名前に基づいて、PythonでTkinterを使用して過去の重みを過去の人に表示します。私はちょうど私が人名を取得し、名前に応じて彼らの体重を格納する場所に動作させたこのサンプルコードを取得しようとしています。現在は、既存のIDに加重を加えるのではなく、同じ人の新しいIDを作成します。どのようにIDが既に存在する場合は追加するのではなく、既存のIDに加重を加えるだけでよいのですか?IDに基づいてJson辞書に特定の要素を追加するにはどうすればよいですか?
import json
ID = raw_input('What is your name?')
weight = raw_input('What is your weight?')
data = {'People': [{'name': ID, 'weight':weight}]}
with open('data.json', 'a+') as outfile:
storage = data
storage({'weight': weight})
json.dump(storage, outfile, sort_keys=True, indent=4)
それが現在読み取ります
{
"People": [
{
"name": "Bob",
"weight": "124"
}
]
}{
"People": [
{
"name": "Jerry",
"weight": "111"
}
]
}{
"People": [
{
"name": "Bob",
"weight": "130"
}
]
}
を私は私が得ることができるよう、以下のコードに近い形式にそれを取得したいのですが:
}{
"People": [
{
"name": "Jerry",
"weight": "111"
}
]
}{
"People": [
{
"name": "Bob",
"weight": "130", "124"
}
]
}
私はついて行くアムこれは間違っている?私は入力された特定のIDだけのファイルを読み込み、新しいものを記録した後に既存の重みを表示することを望んでいました。例えば、コードが実行された後、「Bob」の重みのすべてが表示されます。私はかなりjsonに新しいので、これはより効率的な方法がある場合、私はすべての耳です!
ありがとうございます!それはもっと意味がある、まだjsonとpythonを知ることになる – aRandomViking