BLOGTIMES
2017/04/25

CSV をアップロードして加工するための Servlet を書いてみた

  java 
このエントリーをはてなブックマークに追加

業務用で使っているある CSV ファイルが Excel で非常に使いにくい形式だったので、自分の思い通りに CSV を加工して返してくれる Servlet を書いてみたら思ったよりも簡単に実現することができました。

今回対象にするファイルは、1カラム目が YYYYMMDDHHMMSS 形式の日付で、2カラム目が数値(ただし値が10ずれている)ような CSV を想定します。今回の Servlet は日付を YYYY/MM/DD HH:MM:SS 形式にし、2カラム目の数値に10を足した CSV にして返すというようなもの。もちろんこれの変換はあくまで例で実際に自分が作成したアプリはもっと複雑な加工をするようにしてあります。

具体的なデータにすると下記のような感じです。

test.csv

20170425113510,5 20170425113511,6 20170425113512,7 20170425113513,8 20170425113514,9



変換済test.csv

2017/04/25 11:35:10,15 2017/04/25 11:35:11,16 2017/04/25 11:35:12,17 2017/04/25 11:35:13,18 2017/04/25 11:35:14,19

完成したアプリについては以下にアップロードしてあります。

ファイルのアップロードについては「Servlet 3.0 File Upload 機能」を、CSV の parser としては「opencsv – General」を利用できたので、シンプルかつ楽ちんでした。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9301
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン