は、私は次のように数字のペアを持つファイルがあります:Pythonでテキストの1桁の数字を置き換える方法は?
0,21
0,52
0,464
100,478
1,101
1,729
1,730
をそして私は「2000」とシングル「0」を置き換えたいです。予想される出力は次のようになります。
2000,21
2000,52
2000,464
100,478
1,101
1,729
1,730
しかし、私のコードで、それは2000年代にすべて0に変更し、私は、この出力で終わる:
2000,21
2000,52
2000,464
120002000,478
1,120001
1,729
1,732000
私のコードは次のとおりです。
textToSearch = "0"
textToReplace = "2000"
fileToSearch = "example.csv"
with fileinput.FileInput(fileToSearch, inplace=True, backup='.bak') as file:
for line in file:
print(line.replace(textToSearch, textToReplace), end='')
プラス:カンマの左側に何個の0があるかわからないので、0の数を変更することはできません。ファイルは無作為に生成されます。時には12個の0と時には1つしかないこともあります。 私はこれを試してみました:それは、それぞれそれら"102000"
と"202000"
作っているよう
textToSearch = "0,"
textToReplace = "2000,"
fileToSearch = "example.csv"
with fileinput.FileInput(fileToSearch, inplace=True, backup='.bak') as file:
for line in file:
print(line.replace(textToSearch, textToReplace), end='')
しかし、この時間は、それは、そのよう"100"
や"200"
などの数字のために働いていません。
どうすれば修正できますか?
ありがとうございます!出力(行)をファイルに書き込めません。私はopen(fileToSearch、 'w')をfileとして変更し、最後にfile.write(line)を追加しました。しかし、それは動作しません。あなたはおそらく理由を知っていますか? – bapors