やりたいこと:
CSVファイルをいくつか読み込み、それらを二次元配列で保持したい
1二次元配列に一次元配列を入力する方法を確認する。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
参考にしている、GPT作成のコード↓
private fun updateCSVData(csvData: List<Array<String>>): List<Array<String>> {
val updatedData = csvData.toMutableList()
// ここでデータを更新します。例えば、新しい行を追加します。
val newRow = arrayOf("Charlie", "40", "Canada")
updatedData.add(newRow)
return updatedData}
上記を訳す:
ファンクション(関数)updateCSVData作る
updatedDataという名前のMutalelistをcsvDataというListからつくる
newRowという、三つの配列の入った行(列)を作成
updatedDataにnewRowをAddする→二次元配列に追加する
戻り値はupdatedData
となる。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
ここまでが、二次元配列に一次元配列をいれる方法になる /1
2csvファイルを二次元配列に読み込む方法の確認
ーーーーーーーーーーーーーーーーーーーーーーーーーー
↓参考コード
private fun readCSV(): List<Array<String>> {
val csvData = mutableListOf<Array<String>>()
try {
val inputStream = resources.openRawResource(R.raw.sample) // sample.csv は res/raw フォルダに置いてください
val reader = CSVReader(InputStreamReader(inputStream))
csvData.addAll(reader.readAll())
reader.close()
}
catch (e: Exception) { e.printStackTrace() }
return csvData}
↓翻訳
関数readCSV 引数無し
csvDataを(mutablelistOf文字列の配列)で作る
try{
inputStreamに、sample.csvのパスを代入
reader にCSVReaderで読み込ませる
csvData.addAll(reader.readAll() CSVReaderクラスの関数?でcsvDataに配列をぶち込む
reader.close() ←オープンファイルの終了処理
]
catch エラーが出たらここ
return csvData
ーーーーーーーーーーーーーーーーーーーーーーーーーー/2
上記を踏まえて三つのファイルを読み込んだ状態を作る。
Comments