2017-08-11 312 views
2

削除する必要がある列の中央に空白を含む1列のCSVファイルがあります。ここでは、データの結合線の例と、結果を希望するものを示します。可能であれば、これをpowershellでやりたいと思います。Powershell - CSVファイルの列から空白を削除する

電流:

"setvalue","36499","GORBEL INC","882","7/11/17","- 4989.00","R31836" 
"setvalue","7047","5TH 3RD CC","19775","7/13/17","51.61","" 
"setvalue","68329","J D NEUHAUSE, L.P.","56866","7/10/17","-  .12","R31838" 
"setvalue","27085","MAGNETEK INC","727031","6/30/17","- 1002.57","R69706" 

意図した出力:

"setvalue","36499","GORBEL INC","882","7/11/17","-4989.00","R31836" 
"setvalue","7047","5TH 3RD CC","19775","7/13/17","51.61","" 
"setvalue","68329","J D NEUHAUSE, L.P.","56866","7/10/17","-.12","R31838" 
"setvalue","27085","MAGNETEK INC","727031","6/30/17","-1002.57","R69706" 

誰かが私にこれを行う方法を示していただけますか?

答えて

1

それはそう、ヘッダーを必要とする列を参照するには、この

$PathCSVFile="c:\temp\test.csv" 
(import-csv $PathCSVFile | %{ 
    $_.ColumnNameWithproblem=$_.ColumnNameWithproblem.ToString().Replace(' ', '') 
}) | export-csv $PathCSVFile -notype 
0

を試してみてください。

$InputCSVFile=".\input.csv" 
$OutputCSVfile=".\output.csv" 

$headers = 1..7|%{"H{0}" -f $_} 
$Csv = Import-Csv $InputCSVFile -Header $Headers 
$Csv|ft -auto 

ForEach ($Row in $Csv) { 
    $Row.H6 = $Row.H6 -Replace ' ' 
} 
$Csv | Export-Csv $OutputCSVfile -NoType 
# to skip the header change the previous line with the following one 
# $CSV | ConvertTo-CSV -NoType | Select -Skip 1 | Set-Content $OutputCSVFile 

サンプル出力

> .\SO_45642679.ps1 

H1  H2 H3     H4  H5  H6   H7 
--  -- --     --  --  --   -- 
setvalue 36499 GORBEL INC   882 7/11/17 - 4989.00 R31836 
setvalue 7047 5TH 3RD CC   19775 7/13/17 51.61 
setvalue 68329 J D NEUHAUSE, L.P. 56866 7/10/17 -  .12 R31838 
setvalue 27085 MAGNETEK INC  727031 6/30/17 - 1002.57 R69706 


"setvalue","36499","GORBEL INC","882","7/11/17","-4989.00","R31836" 
"setvalue","7047","5TH 3RD CC","19775","7/13/17","51.61","" 
"setvalue","68329","J D NEUHAUSE, L.P.","56866","7/10/17","-.12","R31838" 
"setvalue","27085","MAGNETEK INC","727031","6/30/17","-1002.57","R69706" 
+1

なしヘッダーでCSVファイルをエクスポートする短い方法: ' $ CSV | ConvertTo-CSV -NoType |選択 - スキップ1 |セット内容$ OutputCSVFile' – TheMadTechnician

+0

@TheMadTechnicianヒントをお寄せいただきありがとうございます。ヘッダーが今後の処理に役立つ場合は、意図的に最後の行をオプションとして残しておきます。私はこれを変更します。 – LotPings

関連する問題