我需要过滤大约100个CSV,所需的ouptut是' First Name'和'姓氏'字段匹配我的列表。不幸的是,由于我搜索的列表是单独手工制作的,除了名字和姓氏的组合之外没有唯一的标识符或密钥(我有街道地址,但它们的格式与CSV不同)
我尝试过的事情:
$myinput = Get-Content 'C:\folder\names.txt'
Import-Csv 'C:\folder\mycsv1.csv' | Where {
$myimput -match $_.'Last Name' -and
$myinput -match $_.'First_Name'
} | Out-File 'C:\folder\results.txt'
我得到一个空白的.txt。当我在没有Out-File
的情况下再次尝试时,我在PowerShell中没有输出。
此外,如果有办法使用所有100个CSV自动执行此操作,那将非常有用。有什么建议吗?
答案 0 :(得分:0)
你输入错误,尝试这样的搜索所有csv(如果所有csv都有相同的列):
$ListNames=get-content "c:\temp2\names.txt"
$dircsv="c:\temp2\"
$PathResultFile="c:\temp\result.csv"
gci $dircsv -file -filter "*.csv" | %{
import-csv $_.FullName | where {$csvrow=$_; ($ListNames | where {$_ -match $csvrow.'Last Name' -and $_ -match $csvrow.'First_Name'}).count -gt 0 }
} | export-csv $PathResultFile -NoType