我想删除imperfect.json中的最后一个逗号,并用方括号替换它。
imperfect.json(文件末尾有一个空行)
...
{
"Q1":"1242",
"Q1":"14336",
"Q2":"13210",
"Q3":"11855",
"Q4":"11496",
"SubmitID":103, "Worksheet":5, "UserID":75},
{
"Q2":"13210",
"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的最后一个字符?
答案 0 :(得分:0)
如果您只想删除添加tempstr = tempstr + '}]'
的最后一个字符?
要仅删除字符串中的最后一个字符,请使用string[:-1]
,
如果字符串以空格结尾或\ r,...用以下内容清除:string.strip()
我希望它会有用。
答案 1 :(得分:0)
如果你使用
会更好tempstr = tempstr.rstrip(',\n')
这比
更容易出错tempstr = tempstr[:-1]
后一种变体剥离任何字符,而前者只删除逗号或换行符,并留下任何其他字符。