Python JSON替换特定行中的值
我已经用python做了一段时间的实验,但遇到了一个我找不到答案的问题。刚刚开始构建一个小型的“银行”控制台应用程序,它的“数据库”位于JSON文件中。现在我添加了一个名为“转账”的命令,该命令应将“资金”从一个用户id转账到另一个用户id。 JSON文件如下所示:Python JSON替换特定行中的值,python,json,Python,Json,我已经用python做了一段时间的实验,但遇到了一个我找不到答案的问题。刚刚开始构建一个小型的“银行”控制台应用程序,它的“数据库”位于JSON文件中。现在我添加了一个名为“转账”的命令,该命令应将“资金”从一个用户id转账到另一个用户id。 JSON文件如下所示: { "users": [ { "user_id": "u111111111", "pin": "222
{
"users": [
{
"user_id": "u111111111",
"pin": "2222",
"balance": "50800"
},
{
"user_id": "u123456789",
"pin": "1234",
"balance": "0"
}
]
}
我最后一次尝试就是这样,结果完全卡住了
user_database = 'accounts.json'
ujf = json.loads(open(user_database, 'r+').read())
for element in ujf['users']:
if (element['user_id'] == str(user_id_one)):
element['balance'] = str(user_one_new_balance)
else:
pass
如何在不创建新文件的情况下更新用户id u111111111和用户id u123456789的“余额”值并保存文件?首次导入JSON模块:
import json
然后将JSON文件作为字典加载:
d = json.load(r'PATH')
然后在循环内,您可以将用户['balance']
分配给您喜欢的任何对象,例如,此处的8:
for user in d['users']:
if user['user_id'] in ['u111111111','u123456789']:
user['balance'] = 8
然后倒回去:
json.dump(d,(open(r'PATH','w')))
为数据库使用JSON是一个糟糕的主意。顺便问一下,你必须处理一个分类账,并根据初始值计算该分类账的余额。这是否回答了你的问题?看起来你已经解决了你的问题。现在只需将
dict
转储回JSON文件。你查过怎么做吗?