Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更换'\n';与'';在python字典中_Python_Json - Fatal编程技术网

更换'\n';与'';在python字典中

更换'\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', '') 字符串是不可变

我从带有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', '')
字符串是不可变的,因此字符串方法返回新字符串,而不是修改原始字符串

此外:

这样就足够了,在遍历每一行之前,您不需要
.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']=…