Juliaで行こう! 〜少し簡単に編〜
ペッパーミルが欲しくなってきました! 口上 前回、Dataを標準関数を用いて、読み込んでみました。他言語と同じように、csv的なものは追加libraryが潜んでいるもので、Juliaもご多分に漏れず存在しています。 では、何故最初から使用しないか?という疑問が湧きます。いずれ訪れるであろう大量(破壊)Dataを目の当たりにした時、太刀打ちできない可能性がでてくるかもしれません。 つまり、通常装備(標準関数)のみで凌がなければならないかもしれないのです。便利すぎるのは身体に毒です(笑) csvread関数 しかし、Juliaは標準だったりします。(笑)Pythonも今は標準なのかもしれません。(基本的に、いつも自家製関数なので…) 準備したDataは、csvread関数が想定している範囲内になっているので問題なく使用が可能となっているようです。 ただ、0.7以降は、関数名が変更されています。以下、説明致します。 では解説(Header無し編) 0.6.3での、お試しの実行方法は以下。 $ ./practice_01.jl ./data/elements.csv readfile()関数部分は以下のようになっています。 function readfile(filename) L = readcsv(filename, comments=true, comment_char='#') (rnum, cnum) = size(L) @printf("(row,col)=(%d,%d)\n\n",rnum,cnum) for i = 1:rnum println(L[i,:]) end end readcsv()関数では、コメントの有無とコメント示す開始文字を設定しています。 size()関数の返り値はタプルで、行数と列数を返しています。 @printfは 、format付きの出力を行う際に使用する関数になります。 諸々の処理がreadcsv()関数にて実現できているので、Code自体はスッキリです。 Codeは、 ここ にあります。 @printfは 、以下でも問題はありません。 @printf "(row,col)=(%d,%...