Back to tech

AndroidでAssetsにあるCSVファイルを読み込むサンプルプログラム

1 min read
Table of Contents

AndroidでCSVファイルを読み込みたいと思いいろいろと調べていました

調べるといろいろとでてきますが、もっと使いやすくならないかなぁということで自分なりに使いやすいCSVファイルのプログラムを作ってみたので記事にしておきます

デモ

Androidレイアウトは下記のようなものです

ボタンを押すとAssetsに入っているCSVファイルを読み込みます

サンプルとして、CSVファイルにはミュージックアーティストの名前とwikipediaから引用した概要を入れています

プログラム

本プログラムはGitHubにあげています

工夫点として、CSVファイルを読みこむ関数を作り、連想配列(Map)で値を返すようにしています

連想配列のkeyは列名にすることで簡単に値を取り出せるようにしてます

サンプルのCSVファイルは3つの列名のみしか取得していませんが、それ以上の列名を入れても対応します(多分)

GitHub - Momijinn/SampleAndroidCsvReader: AndroidでCsvファイルを読み込むためのサンプルファイル
github.com
image

サンプル

Assetsファイルの中に下記のようなCSVファイル(myID.csv)があります

IDNAMEOVERVIEW
x01NMB48NMB48(エヌエムビー フォーティーエイト[注 1])は、日本の女性アイドルグル~
x02MOMOLANDMOMOLAND(モモランド)は、韓国のガールズグループ。MLDエンタ~
x03乃木坂46乃木坂46(のぎざか フォーティーシックス、Nogizaka46)は、日本の女性アイド~

InputCsvFileという関数に読み込みたいCSVファイルを渡してあげると、連想配列で帰ってきます

そして、Logにかかれている通りに入れるとIDがX01のNAME(名前)を取得(NMB48)がとれます

ほかにもOutData.get(“x01”).get(“OVERVIEW”)としてあげればIDがX01のOVERVIEW(概要)がとれます

String TargetCsvFile = "myID.csv";
Map<String, Map<String, String>> OutData = InputCsvFile(TargetCsvFile);

Log.d("x01_NAME", OutData.get("x01").get("NAME"));
//OUTPUT: NMB48

参考文献