2017-01-27 8 views
0

私はフィルタリングする必要がある約100個のCSVを持っています。希望するouptutは、 'First Name'と 'Last Name'フィールドがあるリストと一致するすべての行です。残念ながら、私が検索しているリストは別々に作られていて手作業では姓と名の組み合わせを超える固有の識別子やキーはありません(私は住所がありますが、CSVとは異なる形式で書かれています)。.txtの値リストを使用して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すべてでこれを自動化する方法があれば、それは非常に役に立ちます。どんな勧告?

+5

私はあなたがinput' – TessellatingHeckler

+0

'に' imput'を変更をお勧めしますあなたが置くことができますnames.txtへのコンテンツの例 – Esperento57

答えて

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 
+0

'$ csvrow.Documentnummer'と' $ csvrow.Versie'はどこに由来しますか? – LotPings

+0

貼り付けに失敗しました:) – Esperento57

関連する問題