CSV数据到.txt并汇总所有金额
string fileName = "../../TechFiles/";
using (var reader = new StreamReader(ConfigurationManager.AppSettings["ConfigurationSource"]))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
string fullFileName = fileName + values[4] + ".txt";
List<helper> package = new List<helper>
{
new helper() { bankName = values[4], amount = double.Parse(values[6])}
};
List<ResultLine> result = package.GroupBy(i => i.bankName)
.SelectMany(cl => cl.Select(
csLine => new ResultLine
{
bankName = csLine.bankName,
Quantity = cl.Count().ToString(),
amount = cl.Sum(c => c.amount),
}))
.ToList<ResultLine>();
List<string> listA = new List<string>();
foreach (var book in result)
{
if (!listA.Contains(book.bankName))
{
listA.Add(book.bankName);
File.WriteAllText(fullFileName,
book.bankName + " " + book.amount + " " + book.Quantity);
}
}
我在app.config上放了csv路径,然后将所有数据检索到文本文件,但问题是我想要一些我的value[4]
这是一个标题和所有标题总和的总和但它只返回一个金额,所以我需要一种方法来同时传递所有金额,这样我就可以总计。
答案 0 :(得分:0)
您需要循环遍历所有值两次(一次计算总和,一次写入文本文件),或者在将值写入文本文件时对值进行求和,然后将标题行插入到写完所有细节后的文本文件。