每天早上,我都会生成一个CSV文件,其中包含计算机的名称以及整个文件中的其他注释。作为注释的每一行都以"#“开头,注释散布在整个文档中,而不仅仅是在文档的开头,所以我不能只读前几行。
有没有办法搜索CSV文件并删除以"#“开头的行?或者,有没有一种方法可以选择不以"#“开头的行,并将它们保存为新文件?
发布于 2018-08-06 14:39:04
是的,完全正确。
您可以逐行读取该文件,然后简单地过滤掉所有以#
开头的内容
Get-Content $csvPath |Where-Object {$_ -notlike '#*'} |Set-Content $newCsvPath
发布于 2018-08-06 14:49:32
foreach ($thing in $csv) {
if ($thing.StartsWith("#")) {
continue
} else {
#insert what you want to do here
}
}
发布于 2018-08-08 15:48:12
您的duplicate question提到您还希望过滤掉空行。这将做到这一点:
Get-Content "inputfile.csv" |
Where-Object { $_ -notmatch '(^\s*$)|(^\s*#)' } |
Set-Content "outputfile.csv"
https://stackoverflow.com/questions/51710093
复制