如何将 CSV 文件中的所需条目输出到新文件中并计算条目数?

如何将 CSV 文件中的所需条目输出到新文件中并计算条目数?

我有一个表格的 CSV 文件,其中有一些空白条目。我希望我的代码查看每行的所有条目(第一行除外)并计算空白条目的数量>存储每行的空白条目并用逗号将它们分隔到名为 temp_file 的文件中>然后我希望代码计算该文件中空白条目的数量并给我一个值,例如,如果是,,,那么输出应该是 3。

这就是我目前所拥有的:

sed 1d ${FILENAME} | while read ln

do

echo $ln | tail -1 PMRExceptions.csv | tr "," "\n" | grep -nx '^$' | cut -d":" -f1

PMRNUM=echo $ln | awk -F"," '{print $2}'

PMRMGR=echo $ln | awk -F"," '{print $3}'

COUNT=less $TEMPFILE | wc -l 

这部分应该计算空白条目的数量

while read line
do
columns=`head -1 $FILENAME | awk -F"," -v ln=$line '{print $ln}'`

无论我改变什么,我得到的值都是 0。我认为这些条目没有存储在临时文件中。

答案1

用于awk计算每行输入中空的逗号分隔字段的数量(不包括标题行):

awk -F ',' 'NR > 1 { c=0; for (i = 1; i <= NF; ++i) if ($i == "") ++c; print c }' file.csv

这假设没有字段包含嵌入的逗号。

例子:

$ cat file.csv
A,B,C
1,,0
all,bar,none
my,field,here
no,data,
$ awk -F ',' 'NR > 1 { c=0; for (i = 1; i <= NF; ++i) if ($i == "") ++c; print c }' file.csv
1
0
0
1

有关的:

相关内容