私なら、読み込んだ時に配列に保存しておき、配列内のデータを変更した場合フラグを立て、終了時に変更のフラグが立っていれば上書き保存するようにしますが。データによっては、CSVファイルではなくランダムファイルを使用するようにします。(顧客管理のようなデータはランダムファイルを使ってます)