2017-04-07 5 views
0

.csvファイルからデータテーブルをヘッダーでインポートしていますが、これは問題ありません。
ファイルdt.csvを呼び出します。C#:別のテーブルの名前(文字列)の発生をカウントする.CSVからテーブルを生成する

1つの列ヘッダーの名前はcompanyNameです。

しかし、最初に新しいテーブルを作成する必要があります。ここでは、最初のデータテーブルのすべての企業をリストし、各テーブルのcompanyNameが最初のテーブルに何回表示されるかを数えます。

最初のテーブルの行数は500行から5000行までですが、出現する異なる企業の数は15-50にすぎません。課題は、私が事前に期待する会社名がわからないことです。そのため、数えないポジティブなリストを作ることはできません。列companyNameの内容に基づいて生成されることを期待するリストが必要です(同じ名前の重複を取得しないように)。

+0

いくつかの書式/綴りとタイトルが改善されました。 – zx485

答えて

0

このコードは、C#のですが、私は、CSVファイルの書き込み/読み込みにあなたのアプローチのかどうか分からないとして、主に擬似コードです:

var seenCompanies = new List<string>(); 
foreach(var line in csvFile) 
{ 
    seenCompanies.Add(line.GetColumn("companyName")); 
} 

var companiesAndCounts = 
    seenCompanies 
    .GroupBy(s => s) 
    .Select(group => new { Name = group.Key, Count = group.Count()}) 
    .ToList(); 

foreach(var group in companiesAndCounts) 
{ 
    outputFile.Write(group.Name + "," + group.Count); 
} 

これは概念的にはかなり標準である、あなたが本当にやっているすべてはただでありますそれぞれの別個の会社名の出現を数え、それを書き出す。

あなたのニーズに合わせて調整することはできますが、どのようにアプローチすればよいかを示すだけで十分です。

+0

ありがとうございましたこれは、私が週末にテストを実行する素敵な構造化されたシーケンスのように見えますが、今は2つの条件で別のカウントがあります。これは、createdDateという名前の列(日付形式YYYY-MM)から生成された、私がseenCreatedDateを呼び出す方法と同じです。今私は水平軸上で私が見た新しいテーブルが好きです企業と垂直軸にはseenCreated日付があり、この行列の両方の基準に一致するappearences? –

+0

こんにちは@MikaelDあなたは必要に応じて追加データを追跡できます。 – Clint

+0

私は列を見たことができます+ "" + seenCreatedDateと同じ方法でappearencesを数えますが、それは非常に長いリストであり、レビューするのは素敵ではありませんでした –

0

またSystem.Generics.Dictionary

//I used this list to test, you should replace "companies" with a list from you csv file 
List<string> companies = new List<string>(){"c1","c2","c1","c4","c3","c3","c3","c2"}; 

Dictionary<string,int> numberOfAppearance = new Dictionary<string,int>(); 

foreach(string company in companies) 
{ 
    if(numberOfAppearance.ContainsKey(company)) 
     numberOfAppearance[company]++; 
    else 
     numberOfAppearance.Add(company, 1); 
} 
//Now numberOfAppearance["companyName"] holds the number of appearances of the company named companyName in the list 

を使用することができ、私はあなたがあなたのcsvファイルからそれらを保存する方法を知りませんが、それは簡単なはずと私はすべての会社名を保持するためにリストを作成適応します。

関連する問題