2014-09-12 70 views
0

我有一個其中包含一些csv文件的文件夾。錯誤地,一個額外的列被填充到csv文件中。現在我需要將這些文件導出到單獨的文件夾中,而不需要額外的列。列名在所有cvs中都是一致的。因此,像刪除csv文件中的列並保存到不同的文件夾

"Col1","Col2","ColRemove" 
"1","2","3" 
"2","3","4" 
"3","4","5" 

一個CSV需要移動到不同的文件/文件夾

"Col1","Col2" 
"1","2" 
"2","3" 
"3","4" 

什麼來達到同樣的最簡單的方法?如果它是一個單一的文件,我將跟隨步驟提到here

+0

您的示例數據並不一致。查看源文件中的第2行 – foxidrive 2014-09-12 15:47:24

回答

3

選擇,對象有可以利用的,一個-ExcludeProperty參數:

Get-ChildItem *.csv | 
foreach { 
Import-csv $_ | 
select * -ExcludeProperty ColRemove | 
Export-Csv "c:\NewDir\$($_.name)" -NoTypeInformation 
} 
+0

Get-ChildItem C:.. \ *。csv | foreach {Import-csv $ _ | select -ExcludeProperty ColRemove | Export-Csv C:\ ... \ $ _NoTypeInformation } – mhn 2014-09-12 15:10:05

+0

At line:5 char:12 + Export-Csv <<<< C:\ ... \ $ _NoTypeInformation + CategoryInfo:OpenError :(:) [Export-Csv],NotSupportedException + FullyQualifiedErrorId:FileOpenFailure,Microsoft.PowerShell.Commands.ExportCsvCommand – mhn 2014-09-12 15:10:59

+0

我得到上述錯誤。我究竟做錯了什麼? – mhn 2014-09-12 15:11:23

1
for %%f in (*.csv) do ( 
    for /f "tokens=1,2 delims=," %%a in ("%%f") do @echo %%a,%%b>>"%%~dpnf-new.csv" 
) 
相關問題