ProcessingでCSVファイルを生成する
退屈なことはProcessingにやらせようの観点で、必要にせまられ今日は事務的なプログラミングとして、テスト用のCSV(Comma-Separated Values)を出力した。テキストファイルの出力はPrintWriterというクラスを使う。日付と時間からファイル名を生成する関数を以前作っていたのでそれを流用した。便利。
今回はスプレッドシートで使うから良いけどExcelで開く場合は文字コードの変換(UTF-8→Shift-JIS)が必要。
int col = 15; int row = 24; float offset = 10; void setup() { createCSV(col, row); } void createCSV(int col, int row) { noFill(); String fileName = createFileName(); PrintWriter output = createWriter(fileName); for (int j = 0; j < row; j++) { String rowStr = ""; int sum = 0; for (int i = 0; i < col; i++) { if (random(1) < 0.5) { rowStr += "○"; } else { rowStr += "x"; sum++; } rowStr += ","; } output.println(rowStr + sum); } output.flush(); output.close(); noLoop(); exit(); } String createFileName() { String fileName= nf(year(), 2) + nf(month(), 2) + nf(day(), 2) +"-"+ nf(hour(), 2) + nf(minute(), 2) + nf(second(), 2); fileName += ".csv"; return fileName; }