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','')
これは機能しますが、文字列は不変 (変更できない) であるため、文字列メソッドは新しい文字列を返します (ここでは保存する必要があります)。