1
私は100以上の列を持つCSVを持っています。スクリプトを実行するときに、いくつかの列を選択したいときもあれば、すべての列が必要なときもあります。 |に書かれます|パイプで区切られたファイル。他の区切り文字を使用してImport-CSVから行のすべての列を取得
すべてのヘッダーを指定せずに完全な行を取得できるようにするImport-CSVのコマンド/プロパティはありますか?
私は以下のコードを試しましたが、私はすべての列をしたいときに行のパイプ。
# powershell -ExecutionPolicy ByPass -File .\test.ps1 -NoExit -AllColumns
param(
[switch]$AllColumns = $false
)
$writer = New-Object IO.StreamWriter('output.txt')
Import-Csv 'test.csv' | ForEach-Object {
$writeLine = ""
if($_.("Name") -eq "John") {
if($AllColumns) {
#$writeLine = All Columns with '|' delimiter
foreach ($property in $_.PSObject.Properties) {
$writeLine = ($writeLine + $property.Value + '|')
# Or this - $writeLine = ($writeLine, $property.Value -join '|')
}
} else {
$writeLine = ($_.("Name"), $_.("Code") -join '|')
}
}
$writer.WriteLine($writeLine)
}
$writer.Close()
'インポートCsv'と'輸出CSV'はあなたではなくパイプ文字を使用することができます '-Delimiter'パラメータを持っています'-join'より – BenH