CSVをロードする

Streamを受け取ってArray列に展開します。

スクリプト言語の例に漏れずXtalでも文字列処理は簡単にできるんです。た、たぶん。

// stream:  Iteratorのサブクラス(まあPointerStreamやFileStreamを想定していますが)
// pattern: 文字かxpegのパターン
// ret:     ArrayのArray
fun load_csv(stream, pattern)
{
    ret : [];
    stream.scan(xpeg::eol){
        line : it.prefix;
        if (line.length>0){
            ret.push_back(line.split(pattern)[]);
        }
    }
    return ret;
}

こんな感じで使います。

// delimiterが";"
load_csv(FileStream("map1.csv", "r"), ";").p;
// delimiterが";"か","
load_csv(FileStream("map2.csv", "r"), xpeg::set(";,")).p;
sample/csv_loader.txt · 最終更新: 2012/04/22 05:30 by sukai
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0