Вот пример, который читает файл CSV с помощью DictReader и использует DictWriter для записи в стандартный вывод.В файле есть столбец с именем PERCENT_CORRECT_FLAG, и это изменяет CSV-файл, устанавливая для этого поля значение 0.
#!/usr/bin/env python
from __future__ import with_statement
from __future__ import print_function
from csv import DictReader, DictWriter
import sys
def modify_csv(filename):
with open(filename) as f:
reader = DictReader(f)
writer = DictWriter(sys.stdout, fieldnames=reader.fieldnames)
for i, s in enumerate(writer.fieldnames):
print(i, s, file=sys.stdout)
for row in reader:
row['PERCENT_CORRECT_FLAG'] = '0'
writer.writerow(row)
if __name__ == '__main__':
for filename in sys.argv[1:]:
modify_csv(filename)
Если вы не хотите записывать в стандартный вывод, вы можете открыть другой файл для записи и использовать его.,Обратите внимание, что если вы хотите записать обратно в исходный файл, вам необходимо:
Считать файл в память и закрыть файл перед открытием для записи или
Откройте файл с другим именем для записи и переименуйте его после закрытия.