固定長データ
Posted feedbacks - Scheme
Gaucheにもperlのようなpack、unpackがあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | (use srfi-1)
(use binary.pack)
(with-input-from-file "./d" (lambda ()
(map-in-order (lambda _
(receive (lname fname sex age year month) (apply values (unpack "Z12Z12AA3A4A2"))
(list ((#/(\s+)$/ lname) 'before)
((#/(\s+)$/ fname) 'before)
sex
(x->integer ((#/^(\s*)/ age) 'after))
year
month
(map-in-order (lambda _
(unpack "A2Z500Z500Z500"))
(iota 31)))))
(iota 500))))
|

Mymelo #6060() Rating5/7=0.71
固定長のデータが記載されたファイルを読み込むプログラムを作成してください。読み込んだデータは、複数の値を格納できるデータ型に格納してください。
ファイルには、すべて ascii 文字で以下のデータが格納されています。デリミタはなく、固定長で格納されています。レコードとレコードのあいだも改行はありません。
以上の形式のデータ500人分を読みこんで、データを複数の値を格納できるデータ型に格納してください。データに大して何か処理を行う必要はなく、すぐに破棄してかまいません。
この問題は、このようなファイルをどのように扱うかを知りたくて作成しました。
[ reply ]