LINQtoCSV |如何在CSV文件的末尾写入文本

时间:2015-07-23 08:35:26

标签: c# csv linqtocsv

使用LINQToCSV库时,是否可以在csv文件的末尾写入数据或在csv文件结束后写一行。

我正在使用LINQtoCSV并传递List<>写数据。我的清单<>就像

x    y    z

1    4    5

1    5    3

现在我想为每条记录做y * z,并在csv文件末尾写入总和。

Sum = 35

我已经搜索了一段时间,但没有找到任何解决方案。

2 个答案:

答案 0 :(得分:2)

https://social.msdn.microsoft.com/Forums/vstudio/en-US/00c609c0-5048-4ef1-8c03-e7c6217d8a32/n-not-working-in-fileappendalltext?forum=csharpgeneral

File.AppendAllText(csvPath, ""); 

做了这个伎俩。

修改

我遍历所有List记录并收集了y * z的总和。

sum = 0;
for (int i= 0; i < myList.Count; i++)
    sum += (y * z);

File.AppendAllText(csvPath, String.Concat("Sum = ", sum.ToString()));

要在csv文件结束后在一行上写入,可以使用Environment.NewLine

File.AppendAllText(csvPath, Environment.NewLine);
File.AppendAllText(csvPath, String.Concat("Sum = ", sum.ToString()));

答案 1 :(得分:1)

我不知道这是不是你之后的事情,但我过去曾经使用过这样的东西:

self.navigationController.navigationBar.barTintColor = [UIColor blackColor];

此示例中我的模型是:

CsvContext csv = new CsvContext();
var models = csv.Read<CsvData>(@"c:\Icons\Windows7\Desktop\Book2.csv").ToList();
CsvData sum = new CsvData();
sum.z = models.Sum(m => m.y * m.z);
models.Add(sum);
csv.Write(models, @"c:\Icons\Windows7\Desktop\Book3.csv");