次の csv をセミコロンで区切って検討してください。
27356456;2;4001;3005;2100;20130125;
27356457;2;4001;3005;2100;20130125;
27356458;2;4001;3005;2100;20130125;
27356459;2;4002;3005;2100;20130125;
27356460;2;4002;3005;2100;20130125;
27356461;2;4006;3006;2104;20130125;
27356462;2;4006;3006;2104;20130125;
27356463;2;4006;3006;2104;20130125;
27356464;2;4006;3006;2104;20130125;
上記の行を位置 2、3、および 4 の値に基づいて個別の csv ファイルに保存したい (つまり、4001、3005、2100 のすべての行を 1 つの csv ファイルに格納し、4002、3005、2100 のすべての行を別のファイルに格納し、すべての行を4006、3006、および 2104 は別のファイルにあります)。
これらの位置の値は、実際のデータでは異なる場合があります。Linqで達成できると思いますか?ヒントをいただければ幸いです。
private void ProcessTextFile(FileInfo csvFile)
{
using (StreamReader sr = new StreamReader(csvFile.FullName, Encoding.UTF8))
{
while (sr.Peek() >= 0)
{
string line = sr.ReadLine();
string[] words = line.Split(";");
...
}
}
}