我想刪除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版本是什麼? –