いつもはそうしてる
f.read()が全部をメモリに読み込む処理だから

with open(CSV_FILE) as f:
  csv = csv.DictReader(f)

これでもうfと縁が切れるかというと、csvから読む時にまだfを使うので閉じられない
全部読み込むオプションとかあればいいのに