在python字典中将'\ n'替换为''

时间:2013-04-24 07:58:32

标签: python json

我正在使用json对象读取数据集,在数据集中,一些值具有abcd \ nabdc格式。我使用了以下代码:

for line in open("c:\\dataset","r+").readlines():
       d= json.loads(line)
       str1 = d['strkey1']
       str1.replace('\n' , '')

但无法取代。

2 个答案:

答案 0 :(得分:4)

d['strkey1'] = d['strkey1'].replace('\n', '')

字符串是不可变的,因此字符串方法返回新字符串,修改原始字符串。

此外:

for line in open("c:\\dataset","r+"):

在完成每一行之前,您不需要将.readlines()整个文件放入内存中。但这还不够,您需要记住关闭文件,with语句将为您处理:

with open("c:\\dataset","r+") as f:
    for line in f:
        # do stuff

答案 1 :(得分:1)

只需将您的代码更改为:

for line in open("c:\\dataset","r+").readlines():
       dict = json.loads(line)
       dict['strkey1'] = dict['strkey1'].replace('\n','')

这是有效的,因为字符串是不可变的(它们不能被更改),所以字符串方法返回一个新的字符串,(这里你需要存储)