如何使用PowerShell计算csv文件中每行的逗号数? 这样做的目的是与标题行中的逗号数进行比较。如果不相同,则显示行号。我曾尝试在线搜索但无法找到解决方案。
答案 0 :(得分:0)
你可以尝试这样的事情。但是,如果您在内部使用逗号引用值,则需要编写正则表达式以进行计数或至少删除误报。
我正在使用标题(line1)作为应该有多少逗号的基线。
###########SAMPLE####
$data = @"
header1,header2,header3
value1,value2,value3
value1,value2,,value3
value1,,value2,value3
value1,value2,value3
"@ -split "`n"
######################
$data = Get-Content myfile.csv
#Count in header
$header = $data[0].Split(",").Count
#Line counter
$i = 1
#Find lines with less or more commas
$data | ForEach-Object {
$c = $_.Split(",").Count
if($c -ne $header) { "Line $i - $c commas" }
$i++
}