且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用powershell在csv中合并两行或多行

更新时间:2023-11-22 16:17:34

Import-Csv input.csv | Group-Object planid, transaction | 
Select @{n="PlanId";E={($_.name -split ',')[0]}},
       @{n="Date";e={($_.group)[0].date}}, 
       @{n="Transaction";E={(($_.name -split ',')[1]).trim()}},
       @{n="Type";e={($_.group)[0].type}},  
       @{n="Ticker";e={($_.group)[0].ticker}}, 
       @{n="Amount";e={($_.group | measure-object amount -sum).sum}},
       @{n="Cash";e={($_.group)[0].cash}} |
Export-Csv output.csv -NoTypeInformation

步骤:

  1. 导入 input.csv 文件
  2. 按计划和事务对对象进行分组
  3. 在输出中选择所需的属性
  1. Import the input.csv file
  2. Group the objects by planid and transaction
  3. Select the properties you want in your output
  1. PlanId = group-object 返回的对象的名称字段中逗号的剩余部分
  2. Transaction = group-object 返回的对象的名称字段中逗号右侧的任何内容
  3. 金额 = 每个分组对象的所有金额的总和
  4. 日期 = 每个分组对象的日期
  5. 类型 = 每个分组对象的类型
  6. Ticker = 每个分组对象的代码
  7. 现金 = 每个分组对象的现金

  • 将对象导出到 output.csv(添加 notypeinformation 以去除带有类型信息的顶行)