LINQtoCSV |如何在 CSV 文件末尾写入文本
LINQtoCSV | How to write text at the end of the CSV File
使用LINQToCSV库时是否可以在csv文件末尾或csv文件末尾后一行写入数据
我正在使用 LINQtoCSV 并传递 List<> 来写入数据。我的列表<>就像
x y z
1 4 5
1 5 3
现在我想为每条记录做 y*z 并将总和写在 csv 文件的末尾。
Sum = 35
我已经搜索了一段时间,但没有找到任何解决方案。
我不知道这是否是你想要的,但我过去曾使用过类似的东西:
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");
本例中我的模型所在位置:
public class CsvData
{
[CsvColumn(FieldIndex = 0)]
public int x { get; set; }
[CsvColumn(FieldIndex = 1)]
public int y { get; set; }
[CsvColumn(FieldIndex = 2)]
public int z { get; set; }
}
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()));
使用LINQToCSV库时是否可以在csv文件末尾或csv文件末尾后一行写入数据
我正在使用 LINQtoCSV 并传递 List<> 来写入数据。我的列表<>就像
x y z
1 4 5
1 5 3
现在我想为每条记录做 y*z 并将总和写在 csv 文件的末尾。
Sum = 35
我已经搜索了一段时间,但没有找到任何解决方案。
我不知道这是否是你想要的,但我过去曾使用过类似的东西:
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");
本例中我的模型所在位置:
public class CsvData
{
[CsvColumn(FieldIndex = 0)]
public int x { get; set; }
[CsvColumn(FieldIndex = 1)]
public int y { get; set; }
[CsvColumn(FieldIndex = 2)]
public int z { get; set; }
}
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()));