拆分字符串字段并重复输出对象中的其他字段

时间:2015-01-20 23:46:36

标签: powershell scripting denormalization

我需要分离以下数组数据,但无法想出一个好的,快速的方法。

Name                              OrderGroup           OrderDate
PID365583                         FY13Q1-D             8/28/2014 12:00:00AM
PID354731,361935                  FY13Q2-D             8/28/2014 12:00:00 AM
PID354737,361937                  FY13Q3-D             11/7/2014 12:00:00 AM
PID359099,361933,363165           FY13Q4-D             11/13/2014 12:00:00 AM

每个具有多个与之关联的数字的名称(以逗号分隔)我需要移动到数组中的单独一行,并从当前所在的数组行中复制相同的信息。所以{ {1}}需要分为两行,一行用于PID354731,361935,另一行用于PID354731;两者都包含相同的订单组361935和订单日期FY13Q2-D

1 个答案:

答案 0 :(得分:3)

假设文件数据:

foreach ($line in (Get-Content $file | select -skip 1) )
{
 $Parts = $line.split(' ',3)
  foreach ($Name in $Parts[0].split(',') )
   {
     [PSCustomObject]@{
       Name = $Name
       OrderGroup = $Parts[1]
       OrderDate = [datetime]$Parts[2]
      }
   }

 }