如何在Windows中的CSV文件中获取可变数量的列?

时间:2017-10-16 08:03:55

标签: linux windows shell awk kdb

作为简单执行awk命令的kdb q系统的一部分,我可以找到要加载到kdb的CSV文件中的列数。

.helper.ux.getnumberofcolumns:{[filename]
  ncols:@[system;"awk -F, '{print NF; exit}' ",filename;()];
  :first {"I"$x} @/: ncols;}

基于awk的系统命令只是执行awk -F, '{print NF; exit}' <filename>

我可以在Windows shell批处理/ cmd等中使用类似的命令来完成同样的事情吗?没有安装Cygwin很重要(内部公司不能安装它)

2 个答案:

答案 0 :(得分:1)

Powershell的:

Get-Content .\awk.txt | %{ $a=$_.Split(','); Write-Host "No of fields in record="$a.length; break; }

有关此here的更多信息。

答案 1 :(得分:1)

假设csv中的所有行都有相同数量的字段,您可以使用该文件的第一条记录来确定文件中的字段数。

{count "," vs raze "head -1 ",x}