18

私は C# を持っていて、そこからファイルをDictionary作成したいと考えています。.csvたとえば、私はこの辞書を持っています:

Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("0", "0.15646E3");
data.Add("1", "0.45655E2");
data.Add("2", "0.46466E1");
data.Add("3", "0.45615E0");

そして、私はこの.csvファイル出力が欲しい:

0;0.15646E3;
1;0.45655E2;
2;0.46466E1;
3;0.45615E0;

これどうやってするの?

4

4 に答える 4

35

おそらく最も簡単です:

String csv = String.Join(
    Environment.NewLine,
    data.Select(d => $"{d.Key};{d.Value};")
);
System.IO.File.WriteAllText(pathToCsv, csv);

using LINQ少なくとも .NET 3.5を追加して使用する必要があります

于 2012-05-10T16:35:38.893 に答える
10

次を試してください

using (var writer = new StreamWriter(@"the\path\to\my.csv")) {
  foreach (var pair in data) {
    writer.WriteLine("{0};{1};", pair.Key, pair.Value);
  }
}

注:キーまたは値の要素に。を含めることができる場合、これは機能しません;。もしそうなら、あなたはそれを処理するためにエスケープメカニズムを追加する必要があります

于 2012-05-10T16:32:55.603 に答える
7
  File.WriteAllLines(@"pathtocsv.csv", data.Select(x => x.Key + ";" + x.Value + ";")));
于 2012-05-10T16:38:35.613 に答える