使用PowerShell从CSV文件过滤数据

时间:2019-05-01 17:37:00

标签: powershell csv filter

我有一个庞大的csv文件,其中第一行包含数据的标题。由于文件大小,我无法使用excel或类似文件打开它。我需要过滤只需要的行。我想创建一个仅包含Header3 =“ TextHere”数据的新csv文件。其他所有内容均被过滤掉。

我已尝试在PowerShell中使用Get-Content Select-String |输出文件为“ newfile.csv”,但丢失了标头行,并且还弄乱了将数据放入错误字段的数据。数据中包含空字段,我认为那是一团糟。当我尝试Get-Content时-First或-Last数据似乎是按顺序排列的。

我以前没有处理大数据文件或Powershell的经验。如果可以自由用作“非商业用途”,那么除了PowerShell以外,其他选项也是可能的。

1 个答案:

答案 0 :(得分:0)

尝试这样(如有必要,请修改定界符):

import-csv "c:\temp\yourfile.csv" -delimiter ";" | where Header3 -eq "TextHere" | export-csv "c:\temp\result.csv" -delimiter ";" -notype