查找csv文件中出现的次数

  • 本文关键字:csv 文件 查找 powershell
  • 更新时间 :
  • 英文 :


我有这段代码,将计算每个电子邮件地址的记录数。

csv是这样的:

PST   EmailAddress
pst1  email1
pst2  email1
pst3  email1
pst4  email1
pst5  email2
pst6  email2

我代码:

$csvFile = import-csv "csvFile"
prevEmail = ""
foreach ($row in csvFile){
$currEmail = $row.emailAddress
$PSTCounter = 1
if ($prevEmail -eq $currEmail)
$PSTCounter++
elseif ($prevEmail -ne ""){
func($prevEmail, $PSTCounter)
$prevEmail = $currEmail
}
}

结果应该是:

func(email1,4)

但是这里的问题是第一个记录不匹配if语句,我不能把$prevEmail放在foreach里面,因为它每次都会重置。如果csv是一个数组,我会使用嵌套循环,但不确定在这种情况下如何做到这一点。

我认为你需要这样的东西,由你的代码:

# import CSV file List
$csvFile = import-csv "csvFile.csv"
# take the second column and put elements in array
$emailList = @($csvFile.emailAddress)
# count occurrence
$emailList | Group-Object

输出将为:

Count Name                      Group
----- ----                      -----
4 email1                    {email1, email1, email1, email1}
1 email2                    {email2}
1 email3                    {email3}

最新更新