なんだこれは

はてなダイアリーから移転しました。

MS Excel のCSVを Common Lisp の Clozure CLで開くためのメモ

話によると、MS EXCELCSVを作成すると、セルに改行を含めたりするらしい。
セルに改行がはいっていても fare-csvを使えば簡単に処理してくれると聞いたので試してみたらエラーがでてしまった。

fare-csv:read-csv-fileを使う前に、文字コードSJISにあわせておけばエラーがでなくなった。

;;;; load by quicklisp
;(ql:quickload :cl-ppcre) ;;; 使ってなかったorz
(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"))

CSVの項目はリストのリストで返る。
mapcanでレコードがひとつずつ取得できる。そのレコードはリストになっている。