CSVファイルを読み込みたい

スポンサーリンク
スポンサーリンク

概要

タイトルの通り、CSVファイルを読み込みます。
知ってれば1分。知らなければ1日調べても解決しない。
そんなことがこの世界ではたまにあります。
たいていは仲間に聞けば解決ですけど。。

なのでメモ。


コード

data dummy;
  length VAR01 - VAR20 $100;
  infile "C:\path\to\file.csv" dsd missover lrecl=30000 firstobs=2;
  input VAR01 - VAR20;
run;

infileステートメントのオプション(抜粋)

オプション説明備考
dsd内部的にdlm=’,’がデフォルト設定される。

引用符(”)で囲まれた文字列を1つの値として扱う。

引用符を自動で取り除く。

連続する区切り文字があれば「値がない列(null)」として扱う。








‘a,,b’ → a,(null),b
missover変数の値が足りなければ、その行の残りはnullにして、次の行を読み込まない。

つまり、「最後の変数がnullだったりすると、次の行の1つ目の変数で埋める」ってことをしないって意味。
なにそれバグじゃん・・
firstobs読み込む最初の行を設定。firstobs=2CSVファイルの1行目がタイトル行なら2を設定。
lrecl1行の最大長。lrecl=30000
encoding文字コード。encoding=’UTF-8′,
encoding=’Shift_JIS’

コメント