我试图在以下csv的同一列中找到前一个单元格的单元格值。我将获取日期并为其指定名称,并在该列中找到先前的单元格值。
startDate endDate Name
20-03-2019 30-03-2019 marchLogs
01-03-2019 15-03-2019 aprilLogs
$dt = Get-Date
Import-CSV filepath.csv
foreach($item in $csv)
{
$Start = $($item.StartDate)
$End = $($item.EndDate)
if($dt -gt $Start -and $dt -lt $End )
{
$finalName = $($item.Name)
# $previousName
}
}
在上面的代码中,我将$final
的名称值设为aprilLogs
,现在我需要在新值marchLogs
中使用先前的名称$previousName
。
答案 0 :(得分:0)
有几种方法:
或者:
$finalName = (Import-CSV filepath.csv |
Where {[datetime]::parseexact($_.EndDate,"dd-MM-yyyy",[CultureInfo]::InvariantCulture) -lt (Get-Date)} |
Sort {[datetime]::parseexact($_.EndDate,"dd-MM-yyyy",[CultureInfo]::InvariantCulture)} | Select -Last 1).Name
答案 1 :(得分:0)
$dt = Get-Date
$csv = Import-Csv "filepath.csv"
foreach($item in $csv)
{
$Start = $($item.StartDate)
$End = $($item.EndDate)
if($dt -gt $Start -and $dt -lt $End )
{
$index = $csv.Indexof($item)
$previous = $csv[$index-1]
}
}
$previous.Name