csv ファイルで、特定の文字を他の文字に置き換えようとしています。
私の現在のコードはこれに似ています:
import csv
set1 = set('abc')
set2 = set('def')
set3 = set('ghi')
with open(path, 'r') as input, open(path2, 'w') as output:
reader = csv.reader(input)
writer = csv.writer(output)
for row in reader:
newrow = row
newrow = [''.join('x' if c in set1 else c for c in item) for item in newrow]
newrow = [''.join('y' if c in set2 else c for c in item) for item in newrow]
newrow = [''.join('z' if c in set3 else c for c in item) for item in newrow]
writer.writerow(newrow)
この例では、ジェネレータ式を 3 つしか使用していませんが、簡単にそれ以上にすることもできます。
これを行う正しい方法を知っている人はいますか?私の懸念は、この構造が最速ではない可能性があることです (そして確かに最適に見えません)。