【发布时间】:2019-11-20 09:39:46
【问题描述】:
我正在从 CSV 文件生成 XML。
在图片中我附上了我正在等待的结果
using (var reader = new StreamReader(csvPath + csvName))
{
using (var csv = new CsvReader(reader))
{
csv.Configuration.HasHeaderRecord = true;
csv.Configuration.RegisterClassMap<MapClass>();
var records = csv.GetRecords<Data>().ToList();
from w in records
select
// group by invoice number ?
new XElement("INVOICE",
new XAttribute("DATE",w._invoiceDate ),
new XAttribute("NUMBER", w._invoiceNumber),
new XAttribute("QTY", w._orderQty)
}
}
我想显示按发票编号分组的数据以及加起来的金额(相当于数据透视表)。我可以请你给我小费吗?
using (var reader = new StreamReader(csvPath + csvName))
{
using (var csv = new CsvReader(reader))
{
csv.Configuration.HasHeaderRecord = true;
csv.Configuration.RegisterClassMap<MapClass>();
List<Data> records = csv.GetRecords<Data>().ToList();
var result = records.
GroupBy(x => x._invoiceNumber).
Select(x => new
{
// IGrouping does't contain 'Value" definition
InvoiceNumber = x.Key,
InvoiceQty = x.Value.Sum(y => y._orderQty),
InvoiceTotal = x.Value.Sum(y => y._invoiceTotal)
}).ToList();
}
}
【问题讨论】:
-
group record by record.InvoiceNumber into w?你到底有什么问题? -
我想按每个 Invoice 的 record.w._invoiceNumber 和 Sum w._orderQty 对数据进行分组
-
这能回答你的问题吗? Linq: GroupBy, Sum and Count
标签: c#