0
如何使用PowerShell计算csv文件中每行的逗号数? 这样做的目的是与标题行中的逗号数进行比较。如果不相同,则显示行号。我试图在网上搜索,但找不到解决方案。如何使用powershell来计算csv中每行的逗号数量?
如何使用PowerShell计算csv文件中每行的逗号数? 这样做的目的是与标题行中的逗号数进行比较。如果不相同,则显示行号。我试图在网上搜索,但找不到解决方案。如何使用powershell来计算csv中每行的逗号数量?
你可以尝试这样的事情。但是,如果你在里面用逗号引用了值,你需要编写一个正则表达式来执行计数或至少删除误报。
我使用标题(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++
}