как обрезать/заменить последние n символов строки в файле json на python

#python-3.x

#python-3.x

Вопрос:

У меня есть файл json, как показано ниже, как я могу удалить 6 символов из столбца timespan в файле json

 current: "timespan": 300000000, expected: "timespan": 300,  {  "alerts": [  {  "id": 576757,  "enabled": false,  "severity": 4,  "timespan": 300000000,  "condition": "avg(avg(fs.root.used.percent)) gt; 80",  "customerId": 45992  },  {  "id": 576758,  "enabled": false,  "severity": 4,  "timespan": 300000000,  "condition": "sum(avg(container.count)) gt; 20",  "customerId": 45992  }  ] }  

Комментарии:

1. Непонятно, как вы хотите этого добиться. Люди сделают вывод, что вам нужен скрипт на python из-за тега, но вам следует уточнить свой вопрос о том, как достичь своей цели и, самое главное, что вы пробовали до сих пор. Кроме того, укажите контекст вашего запроса. Это кажется произвольным и нелогичным.

Ответ №1:

вы можете использовать этот простой пример:

 import json j = '''{  "alerts": [  {  "id": 576757,  "enabled": false,  "severity": 4,  "timespan": 300000000,  "condition": "avg(avg(fs.root.used.percent)) gt; 80",  "customerId": 45992  },  {  "id": 576758,  "enabled": false,  "severity": 4,  "timespan": 300000000,  "condition": "sum(avg(container.count)) gt; 20",  "customerId": 45992  }  ] }''' j = json.loads(j) for i in j["alerts"]:  i["timespan"] = int(str(i["timespan"])[:3]) print(j)  

Комментарии:

1. Спасибо @Андрей, Есть ли способ добавить, как показано ниже, если временной интервал не имеет текущего значения нуля: «временной интервал»: 864, ожидается: «временной интервал»: 86400,

2. @YugenReddy, да! Вы должны проверить, нет ли у меня[«промежуток времени»] нулей, если это правда i["timespan"]=f'{i["timespan"]}000'

3. @YugenReddy, вы можете проверить по длине i["timespan"]

4. Спасибо @Андрей, В этом сценарии, как мы можем добиться разделения, что-то вроде приведенного ниже для i в j[«предупреждения»]: i[«промежуток времени»] = int(str(i[«промежуток времени»])[//1000000]) печать(j)