0

json オブジェクトを使用してデータセットから読み取っています。データセットでは、値の一部が abcd\nabdc 形式になっています。次のコードを使用しました:

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

しかし、それは置き換えられません。

4

2 に答える 2

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
于 2013-04-24T07:58:57.317 に答える
1

コードを次のように変更するだけです。

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

これは機能しますが、文字列は不変 (変更できない) であるため、文字列メソッドは新しい文字列を返します (ここでは保存する必要があります)。

于 2013-04-24T08:12:45.570 に答える