我需要在PowerShell中有重複的列標題的CSV文件的工作。他們有一個重複列的原因超出了我。這就是人生。進口-CSV PowerShell和重複的列標題
我想使用進口-CSV,這樣我可以很容易地與數據處理,但由於重複的列存在我得到這個錯誤:
Import-Csv : The member "PROC STAT" is already present.
At C:\Users\MyName\Documents\SomeFolder\testScript1.ps1:10 char:9
+ $csv2 = Import-Csv $files[0].FullName
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-Csv], ExtendedTypeSystemException
+ FullyQualifiedErrorId : AlreadyPresentPSMemberInfoInternalCollectionAdd,Microsoft.PowerShell.Commands.ImportCsvCommand
我可以手動進入每一個CSV解決問題文件並刪除重複的列。但這不是一種選擇。有數百個,並且腳本需要定期運行。理想的情況是我在尋找一種方式來編程刪除列(進口-CSV將無法正常工作)或編程改變列的名字(讓我可以再進口CSV和刪除)。有什麼建議麼?
我的代碼遍歷所有文件:
$files = Get-ChildItem "C:\Users\MyName\Documents\SomeFolder\Data" -Filter *.csv
foreach($file in $files) {
$csv = Import-Csv $file.FullName
}
你提前知道了報頭順序? –
@ MathiasR.Jessen是的 – Thomas
我可以使用'Get-Content $ file.FullName -First 1'從文件中獲取第一行(標題)。但我不知道如何修改/寫出到一個新的文件。 – Thomas