
前提・実現したいこと
初めて質問させていただくプログラミング初学者です。
諸事情によりプログラミングを行う必要があり、学習を進めておりました。
そこで、書籍やネットで検索してもどうしても解決できなかったため投稿させていただきました。
以下のようなCSVの<元データ>がありそれを<出力結果>のようにCSV形式で出力できるプログラムを作成したいと考えています。
<元データ>
会員番号, 3月の体重[kg], 4月の体重[kg], 5月の体重[kg]
0001 , 58.4, 58.0, 57.8
0002 , 67.2, 68.3, 67.0
0003 , 63.5, 62.4, 64.0
・
・
・
1000 , 65.4, 66.0, 65.6
<出力結果>
会員番号,3月の体重[kg],4月の体重[kg],5月の体重[kg],3月と4月の差,4月と5月の差
0001, 58.4, 58.0, 57.8, 0.4, 0.2
0002, 67.2, 68.3, 67.0, 1.1, -1.3
0003, 63.5, 62.4, 64.0, -1.1, 1.6
・
・
・
1000, 65.4, 66.0, 65.6, 0.6, -0.4
・
・
・
ここで問題になったのが、①excelでいうところの列同士の計算をCSVで行うこと②計算結果を後ろの列に追加していく方法がわからないことです。
試したこと
using System;
using System.IO;
using System.Text;
static class Data{
string filePath = @"c:~~~\TestData.csv";
}
class LoadCsv {
string[][] loadCSV(string filePath) {
var list = new List<string[]>();
StreamReader reader =
new StreamReader(filePath, System.Text.Encoding.GetEncoding("Shift_JIS"));
while (reader.Peek() >= 0) list.Add(reader.ReadLine().Split(','));
reader.Close();
return list.ToArray();
}
}
class CalculateCsv{
/*
List<T>などを用いる?
*/
}
データ数も今後増えていくため配列ではなくList<T>を使用すると思ったのですが、見当がつかず手詰まりになってしまいました。
自力で解決できないため、アドバイスを頂けないだろうかと思い投稿いたしました。
稚拙なコードや質問で申し訳ございませんが、ご助言いただけないでしょうか。
補足情報(FW/ツールのバージョンなど)
VS2017


