Я хочу обновить имя_поля под названием "сделано" в этом же файле CSVPython 3 - Как написать определенную строку в том же файле csv?
Это структура файла CSV:
Вход:
Email Done
[email protected]
[email protected]
[email protected]
[email protected]
Выход:
Email Done
[email protected] 1
[email protected] 1
[email protected] 1
[email protected] 1
Что Я хочу выглядеть так:
import csv
with open(r'E:\test.csv','r', encoding='utf-8') as f:
reader = csv.DictReader(f,delimiter='|')
for row in reader:
#do something here#
#then write "1" to filename "done"
f.close()
Как это сделать? Большое спасибо ! :)
Важные моменты здесь находятся; насколько велик файл данных? С тобой все будет в порядке? Вы в порядке с моделью, которая читает один раз, пишет один раз и обрабатывает изменения в памяти? Причина, по которой я прошу об этом; он будет намного более реалистичным, если вы загрузите CSV в память как структуру данных, сохраните его, внесите изменения и напишите обратно на диск в конечном формате, если ваша проблема его поддерживает. В противном случае поэтапное чтение/запись - это gong, чтобы убить вашу производительность, и легче иметь дело с структурой данных в памяти, чем текст на диске. –
Да, это нормально с этим присутствием в памяти. Это не большие данные. – NGuyen
Затем вы должны прочитать данные из csv, создать экземпляр, как кортеж в памяти, или карту, если вы хотите случайное чтение/запись в строках и обновить последнее значение по мере необходимости. Когда вы закончите или периодически, если хотите защитить от потери данных, напишите структуру данных обратно в csv. –