Удалите первую запятую, начиная с конца файла - PullRequest
1 голос
/ 05 августа 2020

Я использую Python3 для редактирования файла JSON, вырезая строки с 0 по 51, но поскольку я вырезаю строки из файла, последняя строка имеет запятую, которая разрывает JSON. Я пытаюсь сделать go до последней строки и удалить запятую.

with open(f'test.json', 'r') as f:
    line = f.readlines()
    cut = line[0:51]

    with open(f'test.json', 'w') as file:
        close = "]"
        for item in cut:
            file.write(item)
        line.translate(',')[0:-1] #go to last line and remove ,
        file.write(close)

JSON пример:

[
{"title": "title 1", "description": "description1", "date": "1:15pm Jul 23, 2020", "image": "ImageURL", "url": "link"},
{"title": "title 2", "description": "description 2", "date": "12:30am Jul 23, 2020", "image": "ImageURL", "url": "link"},
]

1 Ответ

1 голос
/ 05 августа 2020

Вы можете сделать что-то вроде этого (подробности см. Во встроенных комментариях):

with open('test.json', 'r') as f:
    line = f.readlines()
    cut = line[0:51]
    # strip both the comma and the new line at the right of the last line 
    # and then assign the value back to the last line
    cut[-1] = cut[-1].rstrip(',\n')

    with open('test.json', 'w') as file:
        # add a new line in front of ] just for the look
        close = "\n]"
        for item in cut:
            file.write(item)
        file.write(close)

Кстати, вам не нужно ставить f перед 'test.json', например f'test.json'. Совершенно нормально просто использовать 'test.json'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...