MS Excel のCSVを Common Lisp の Clozure CLで開くためのメモ2
前にも、 Common Lisp の Clozure CL で MS ExcelのCSVファイルをひらく方法を書いた。
;;;; load by quicklisp (ql:quickload :fare-csv) ;;;; external format for csv file of MS EXCEL/WINDOWS (setf ccl:*default-external-format* (ccl:make-external-format :character-encoding :cp932 :line-termination :dos)) (defvar *table* (fare-csv:read-csv-file "foobar.csv"))
しかし、Windows で実行したときにファイルサイズが多きかったためか、メモリ不足になってしまった。なんということだ。
そこで、いろいろ調べた結果、 csv-parser でもできるとの情報があったので、 csv-parser で実行した。こちらではメモリ不足にはなりませんでした。
;;;; load by quicklisp (ql:quickload :csv-parser) ;;;; external format for csv file of MS EXCEL/WINDOWS (setf ccl:*default-external-format* (ccl:make-external-format :character-encoding :cp932 :line-termination :dos)) (defvar *table* (with-open-file (csv "sample.csv") (loop for line = (csv-parser:read-csv-line csv) while line collect line)))