Я хотел бы удалить последнюю запятую в imperfect.json и заменить ее квадратной скобкой.Линии исчезли после удаления последнего символа строки с помощью Python
imperfect.json (есть пустая строка в конце файла)
...
{
"Q1":"1242",
"Q1":"14336",
"Q2":"",
"Q3":"11855",
"Q4":"11496",
"SubmitID":103, "Worksheet":5, "UserID":75},
{
"Q2":"",
"Q2":"11110",
"SubmitID":104, "Worksheet":5, "UserID":75},
Но когда я побежал следующий код, он удаляется 68 строк моего исходного файла и успешно добавлена закрывающую квадратную скобку в конце.
f2 = open('imperfect.json')
tempstr = f2.read()
tempstr = tempstr[:-1]
tempstr = tempstr + '}]'
with open('useful_input.json', 'w') as perfect_file:
perfect_file.writelines(tempstr)
, что я получил в useful_input.json
...
{
"Q1":"1629",
"Q2":"1950",
"Q3":"0116",
"Q4":"616",
"SubmitID":91, "Worksheet":4, "UserID":72},
{
"Q4":"0616",
"Q3":"0117",
"SubmitID":92, "Worksheet":4, "UserID":72},
{
"Q1":"14336",
"Q2":"11110"}]
Как я могу удалить только последний символ imperfect.json?
'writelines' предназначен для последовательности строк. Вы попробовали «написать» вместо этого? –
Я просто попробовал, он дал тот же результат – Tsing
В моей системе Ubuntu 14.04 с Python 2 я получаю правильный результат (заканчивающийся на 'UserID": 75},}] ') - какую версию ОС и Python вы используете? –