我需要过滤CSV行的最后一个元素。所以在每个文件的最后一列。据我所知,我做了这个导入来过滤和导出最后一列。
(Import-Csv Test.csv -Delimiter "," -Header "R","S","T","U","V","W","X","Y","Z","A") |
Select-Object -ExcludeProperty $_.A |
Export-Csv test1.csv –NoTypeInformation
然后我的导出文件包含一个重复的标题,带有,,,,,,,,,添加+每行都有,,,,,,,,,也添加了。
有没有更好的方法来过滤最后一列或删除它?
编辑:这是我的输入文件:
R,"S","T","U","V","W","X","Y","Z","A" R,"Software","Test","Uruguay","22","Waldschutzinitiative","Xander","Ytho","Zahlung","AJ3DJF" RwieRichard,"S","Test","Uruguay","22","Waldschutzinitiative","Xander","Ytho","Zahlung","AJ3DJF" RwieRichard,"Software","T","Uruguay","22","Waldschutzinitiative","Xander","Ytho","Zahlung","AJ3DJF" RwieRichard,"Software","Test","U","22","Waldschutzinitiative","Xander","Ytho","Zahlung","AJ3DJF" RwieRichard,"Software","Test","Uruguay","V","Waldschutzinitiative","Xander","Ytho","Zahlung","AJ3DJF" RwieRichard,"Software","Test","Uruguay","22","We","Xander","Ytho","Zahlung","AJ3DJF" RwieRichard,"Software","Test","Uruguay","22","Waldschutzinitiative","X","Ytho","Zahlung","AJ3DJF" RwieRichard,"Software","Test","Uruguay","22","Waldschutzinitiative","Xander","Y","Zahlung","AJ3DJF" RwieRichard,"Software","Test","Uruguay","22","Waldschutzinitiative","Xander","Ytho","Z","AJ3DJF" RwieRichard,"Software","Test","Uruguay","22","Waldschutzinitiative","Xander","Ytho","Zahlung","A" RwieRichard,"Software","Test","Uruguay","22","Waldschutzinitiative","Xander","Ytho","Zahlung","AJ3DJF"
输出文件:
"R,""S"",""T"",""U"",""V"",""W"",""X"",""Y"",""Z""" "R,""S"",""T"",""U"",""V"",""W"",""X"",""Y"",""Z"",""A"",,,,,,,," "R,""Software"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""S"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""T"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""U"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""V"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""22"",""We"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""X"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Y"",""Zahlung"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Z"",""AJ3DJF"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""A"",,,,,,,," "RwieRichard,""Software"",""Test"",""Uruguay"",""22"",""Waldschutzinitiative"",""Xander"",""Ytho"",""Zahlung"",""AJ3DJF"",,,,,,,,"
要让-ExcludeProperty
工作,你还必须指定-Property
。此外,参数的参数必须只是属性名称,而不是$_.A
。
更改
... | Select-Object -ExcludeProperty $_.A | ...
至
... | Select-Object -Property * -ExcludeProperty A | ...
编辑:从您所谓的示例输出判断,您的实际代码和数据之间的分隔符不匹配。您的数据是以逗号分隔的,并且您为导入指定了不同的分隔符,或者您为导入指定了逗号,但实际数据由不同的字符分隔。无论哪种方式,解决这个问题。如果您的数据实际上是以逗号分隔的,则甚至不需要为导入指定分隔符,因为Import-Csv
默认为,
。
此外,您的数据似乎已经有标题,因此您不能在导入期间指定标题。
如果以逗号分隔,则应正确导入CSV:
Import-Csv 'test.csv' | ...
如果以分号分隔,则应正确导入CSV:
Import-Csv 'test.csv' -Delimiter ';' | ...