1

固定幅のファイルに数十万の不安定な値があります。文字列 old_values を見つけて、それらを new_values の対応する位置にある文字列に置き換えたいと思います。ループして一度に 1 つずつ実行することもできますが、私が知るほど専門家ではない、はるかに高速な方法があることはほぼ確実です。

old_values = ('0000}', '0000J', '0000K', '0000L', '0000M', '0000N')  # and many more
new_values = ('   -0', '   -1', '   -2', '   -3', '   -4', '   -5')  # and many more
file_snippet = '00000000000000010000}0000000000000000000200002000000000000000000030000J0000100000000000000500000000000000000000000' # each line is >7K chars long and there are over 6 gigs of text data

各値をループし、各行で .replace を実行するのは遅いようです。例えば:

for x in len(old_values):
  line.replace(old_values[x], new_values[x])

物事をスピードアップするためのヒントはありますか?

4

2 に答える 2