次の形式のcsvファイルがあります
LeftChoice、RightChoice、Left || 右
ここで、LeftChoiceとRightChoiceは一意ではないテキスト文字列であり、Left || 右はピッキングされた弦です。
私がやりたいのは、文字列、選択されたカウント、選択されていないカウントの各要素を含むリストを取得することです。
現在、私は次のものを持っています:
var result = from line in file
let values = line.Split(',')
select new { Choice1 = values[0], Choice2 = values[1], Result = values[2].Equals("left")};
var leftTrue = from dataSet in result
where dataSet.Result
group dataSet.Choice1 by dataSet.Choice1 into C1
select new { Value = C1.Key, Count = C1.Count() };
var leftFalse = from dataSet in result
where !dataSet.Result
group dataSet.Choice1 by dataSet.Choice1 into C1
select new { Value = C1.Key, Count = C1.Count() };
var rightTrue = from dataSet in result
where !dataSet.Result
group dataSet.Choice2 by dataSet.Choice2 into C2
select new { Value = C2.Key, Count = C2.Count() };
var rightFalse = from dataSet in result
where dataSet.Result
group dataSet.Choice2 by dataSet.Choice2 into C2
select new { Value = C2.Key, Count = C2.Count() };
入力例
Fred,Cole,left
Jill,Dave,right
Pat,Fred,right
Pat,Pat,left
出力例:
Name Chosen NotChosen
Fred 2 0
Cole 0 1
Jill 0 1
Dave 1 0
Pat 1 2