簡體   English   中英

在python詞典中用'替換'\\ n'

[英]Replace '\n' with '' in python dictionary

我正在從具有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()放入內存。 但這還不夠,您需要記住關閉文件, 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','')

這行得通,因為字符串是不可變的(不能更改),所以您的字符串不可變,因此字符串方法將返回新的字符串(您需要在此處存儲)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM