我有一个.json文件,但我把tokenId编号错了。我需要将“tokenId”的所有值增加1个数字
[
{
"Background": "Red",
"Body": "Tunn",
"Hat": "Bambu",
"Outfit": "Pirate",
"Expression": "Sad",
"Accessory": "Rifle",
"tokenId": 0
},
{
"Background": "Lilac",
"Body": "Tunn",
"Hat": "Bicorn",
"Outfit": "Pirate",
"Expression": "Angry",
"Accessory": "Balloons",
"tokenId": 1
},
...
{
"Background": "Green",
"Body": "Tunn",
"Hat": "Bicorn",
"Outfit": "Pirate",
"Expression": "Sad",
"Accessory": "Balloons",
"tokenId": 3000
},
用Python可以做到这一点吗?我用Python创建了这个.json文件。
我尝试了这个代码,但我得到一个错误
import json
with open('traits.json') as f:
data = json.load(f)
for item in data['tokenId']:
item['tokenId'] = item['tokenId'].replace([int('+1')])
with open('new_data.json', 'w') as f:
json.dump(data, f)
TypeError: list indices must be integers or slices, not str
谢谢你!
2条答案
按热度按时间xkrw2x1b1#
下面的似乎行得通
输出
6yt4nkrj2#
要将JSON文件中的“tokenId”字段的值增加1,可以按如下方式修改代码:
在你的原始代码中,你试图访问数据['tokenId'],就好像它是一个列表,但它实际上是一个字典。相反,您需要迭代列表数据并更新每个项目的“tokenId”字段。通过使用item['tokenId'] += 1,您将“tokenId”的值增加1。
最后,使用json.dump(data,f)将修改后的数据保存到名为“new_data. json”的新JSON文件中。
运行此代码后,“new_data.json”文件将包含更新的“tokenId”值,增量为1。