更换'\n';与'';在python字典中
我从带有json对象的数据集中读取数据,数据集中的一些值采用abcd\nabdc格式。我使用了以下代码:更换'\n';与'';在python字典中,python,json,Python,Json,我从带有json对象的数据集中读取数据,数据集中的一些值采用abcd\nabdc格式。我使用了以下代码: for line in open("c:\\dataset","r+").readlines(): d= json.loads(line) str1 = d['strkey1'] str1.replace('\n' , '') 但它无法取代 d['strkey1'] = d['strkey1'].replace('\n', '') 字符串是不可变
for line in open("c:\\dataset","r+").readlines():
d= json.loads(line)
str1 = d['strkey1']
str1.replace('\n' , '')
但它无法取代
d['strkey1'] = d['strkey1'].replace('\n', '')
字符串是不可变的,因此字符串方法返回新字符串,而不是修改原始字符串
此外:
这样就足够了,在遍历每一行之前,您不需要.readlines()
将整个文件放入内存。但这仍然不够,您需要记住关闭文件,一个with
语句将为您处理:
with open("c:\\dataset","r+") as f:
for line in f:
# do stuff
字符串是不可变的,因此字符串方法返回新字符串,而不是修改原始字符串
此外:
这样就足够了,在遍历每一行之前,您不需要.readlines()
将整个文件放入内存。但这仍然不够,您需要记住关闭文件,一个with
语句将为您处理:
with open("c:\\dataset","r+") as f:
for line in f:
# do stuff
只需将代码更改为:
for line in open("c:\\dataset","r+").readlines():
dict = json.loads(line)
dict['strkey1'] = dict['strkey1'].replace('\n','')
由于字符串是不可变的(不能更改),因此字符串方法返回一个新字符串(您需要在此处存储该字符串)只需将代码更改为:
for line in open("c:\\dataset","r+").readlines():
dict = json.loads(line)
dict['strkey1'] = dict['strkey1'].replace('\n','')
由于字符串是不可变的(不能更改),因此字符串方法返回一个新字符串(您需要在此处存储该字符串)您必须将替换的对象存储在某个位置
dict
是内置的,不要用它作为名称,我已将其更改为d
您必须将替换的对象存储在某个位置dict
是一个内置的,不要用它作为名称,我已经将它改为d
you@Mahdi字符串是不可变的(无法更改或操纵),因此您需要将结果分配回str1@jamylak,这还不够。dict['strkey1']=…
也是必需的。@Mahdi字符串是不可变的(无法更改或操纵),因此您需要将结果分配回str1
@jamylak,这还不够。还需要一个dict['strkey1']=…
。