[英]Lines disappeared after removing the last character of a string using Python
我想删除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)
我在available_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的最后一个字符?
如果只想删除最后一个字符,为什么要添加tempstr = tempstr + '}]'
?
要仅从字符串中删除最后一个字符,只需使用string[:-1]
,
如果字符串以空格或\\ r结尾,请使用以下命令进行清理: string.strip()
我希望它会有用。
如果你用的话会更好
tempstr = tempstr.rstrip(',\n')
比起容易出错的地方
tempstr = tempstr[:-1]
后一种变体除去任何字符,而前一种变体仅除去逗号或换行符,并且不留其他任何字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.