次のような CSV ファイルがあります。
header1, header2, header3, header4
1, 2, 3, abc
4, 5, 6, abc
7, 8, 9, abc
私の目標は、「abc」とマークされた値のみを変更することです。完了したら、ファイルを次のようにします。
header1, header2, header3, header4
1, 2, 3, test
4, 5, 6, test
7, 8, 9, test
これまでに思いついたコードは次のとおりです。
import csv
with open('test2-2.csv', 'w') as csvout:
write=csv.writer(csvout, delimiter=',', lineterminator='\r')
with open('test2.csv', 'rb') as csvfile:
read=csv.reader(csvfile, delimiter=',')
for row in read:
row[3]="test"
write.writenow(row)
このコードの問題は、「header4」の場所も上書きするため、次のようになることです。
header1, header2, header3, test
1, 2, 3, test
4, 5, 6, test
7, 8, 9, test
変更したいインデックスの場所を指定する方法はありますか?
助けてくれてありがとう!
この例で動作する新しいコードは次のとおりです。
import csv
with open('test2-2.csv', 'w') as csvout:
write=csv.writer(csvout, delimiter=',', lineterminator='\r')
with open('test.csv', 'rb') as csvfile:
read=csv.reader(csvfile, delimiter=',')
header=next(read)
write.writerow(header)
for row in read:
row[3]="test"
write.writerow(row)