Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Java開発者のためのCurl入門-CSVファイルの読み込みとグラフ表示

第5回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/02/09 14:00

 前回は、データをグラフに表示する方法について説明しました。今回は、CSVファイルを読み込み、CSVファイルの内容をグラフに表示するアプリケーションを作成する方法を説明します。

目次

はじめに

 前回は、データをグラフに表示する方法について説明しました。今回は、CSVファイルを読み込み、CSVファイルの内容をグラフに表示するアプリケーションを作成する方法を説明します。

これまでの記事

1.CSVファイルの読み込み

 次のように、名前、身長、体重というカラムがあるCSVファイルがあったとします。

CSVファイルの中身
Allen,200,80
Smith,170,100
Scott,165,60
James,175,60

 このCSVファイルをCurlで読み込むには、以下のようなコードを記述します。

CSVファイルの読み込みを行うコード
{let records:CsvRecordSet =
    {CsvRecordSet
          {url "data.csv"}
        , fields = 
            {RecordFields
                {RecordField "name",   caption = "Name", domain = String}
              , {RecordField "height", caption = "height", domain = int}
              , {RecordField "weight", caption = "weight", domain = int}
            } 
    }
}

 Curlの場合、このようにファイルのURLを指定するだけで、CSVファイルの読み込みとCsvRecordSetのインスタンス作成が可能です。

 また、「{url "http://localhost:8080/sample/csvDownload.do"}」のように、httpのURLを指定するだけでネットワーク上のCSVファイルを読み込むこともできます。

 次のファイルのようにヘッダ行を持ったCSVファイルの読み込みも可能です。ヘッダ行のあるファイルを読み込む場合は、header-line-countでヘッダの行数を指定するだけで対応できます。

CSVファイルの中身
name,height,weight
Allen,200,80
Smith,170,100
Scott,165,60
James,175,60
ヘッダ行が存在するCSVファイルの読み込みを行うコード
{let records:CsvRecordSet =
    {CsvRecordSet
          {url "data.csv"}

          || ヘッダが存在する場合は、ヘッダの行数を指定する
        , header-line-count = 1

        , fields = 
            {RecordFields
                {RecordField "name",   caption = "Name", domain = String}
              , {RecordField "height", caption = "height", domain = int}
              , {RecordField "weight", caption = "weight", domain = int}
            } 
    }
}

 CurlではこのようにCSVファイルを読み込む機能があらかじめAPIとして提供されているため、コーディングは非常に簡単です。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 木村聡(キムラサトシ)

    2000年からJavaによるWeb開発に携わる。Seasarプロジェクトコミッタであり、コミッタとしての経験をもとに現在は仕事としてフレームワークの開発を行っている。 著書に、「Javaフレームワーク開発入門」や「Eclipseで学ぶはじめてのJava」等がある。

バックナンバー

連載:Java開発者のためのCurl入門
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5