mac*_*ack 3 csv powershell powershell-2.0
我有一个CSV文件,其中包含各种不同的ID.有了一点帮助,我已经能够将文件修剪为具有最早日期的ID,并且它的工作效果很好......大部分时间.我有几个记录似乎返回最新的日期,而另一个记录返回最旧的,我无法弄清楚为什么.发生这种情况的记录总是相同的.
以下是我输入CSV中的示例:
Number File Date
OU00067949, 6/14/2012,
OU00067949, 6/19/2012,
OU00067949, 11/15/2012,
OU00067949, 1/30/2013,
OU00080302, 1/3/2013,
OU00080302, 1/3/2013,
OU00080302, 12/28/2012,
OU00080302, 12/28/2012,
OU00080302, 12/27/2012,
OU00080302, 12/27/2012,
OU00080281, 2/14/2013,
OU00080281, 1/30/2013,
OU00080281, 1/16/2013,
OU00080319, 12/27/2012,
OU00080319, 12/27/2012,
Run Code Online (Sandbox Code Playgroud)
这是输出:
Number File Date
OU00067949, 1/30/2013,
OU00080302, 1/3/2013,
OU00080281, 1/16/2013,
OU00080319, 12/27/2012,
Run Code Online (Sandbox Code Playgroud)
我期待OU00067949的日期为6/14/2012,因为这是最早的日期.相反,我得到了2013年1月30日.OU00080302也是如此,但其他都是正确的.有什么可能导致这个的线索?
这就是脚本的全部内容:
Import-CSV $ImportFile | Group-Object "Number" | ForEach-Object { $_.Group | Sort-Object "File Date" | Select -First 1} | Export-CSV $ExportFile -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
Neo*_*isk 12
看起来它正在尝试将日期排序为字符串.试试这个:
Import-CSV $ImportFile | Group-Object "Number" | ForEach-Object { $_.Group | Sort-Object { $_."File Date" -as [datetime] } | Select -First 1} | Export-CSV $ExportFile -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
所以这:
Sort-Object "File Date"
Run Code Online (Sandbox Code Playgroud)
成了这个:
Sort-Object { $_."File Date" -as [datetime] }
Run Code Online (Sandbox Code Playgroud)
信用到这里:
| 归档时间: |
|
| 查看次数: |
9839 次 |
| 最近记录: |