使用AWK过滤和统计CSV文件中的数据

作者:佚名 上传时间:2023-05-19 运行软件:AWK 软件版本:AWK 5.0.1 版权申诉

该示例代码演示如何使用AWK命令过滤和统计CSV文件中的数据。该脚本能够读取CSV文件,识别每列的数据类型,并对每列进行统计计算、去重和排序等操作。

# 设定分隔符为逗号
BEGIN {FS=","}

# 处理第一行数据,将每列的名称赋值到cols数组中
NR==1 {
    for (i=1; i<=NF; i++) {
        cols[i]=$i
    }
    next
}

# 处理非第一行数据,将每列数据类型识别,存储到type数组中
NR>1 {
   for (i=1; i<=NF; i++) {
    if ($i~/^[0-9]+(\.[0-9]+)?$/) {
       # 数字类型
       type[i]="numeric"
    } else {
       # 字符串类型
       type[i]="string"
    }

    # 统计每列数据,存储到sum、count、max、min和unique数组中
    sum[i]+=($i+0)
    count[i]+=1
    if (type[i]=="numeric") {
        if ($i>max[i]) max[i]=$i
        if ($i<min[i] || min[i]=="") min[i]=$i
    } else {
        unique[i][$i]+=1
    }
   }
}

# 处理文件结束,输出统计结果
END {
   printf("%-20s%-15s%-15s%-15s%-15s%-15s\n","Column","Count","Sum","Min","Max","Unique")

   for (i=1; i<=NF; i++) {
       if (type[i]=="numeric") {
           printf("%-20s%-15d%-15.2f%-15.2f%-15.2f\n",cols[i],count[i],sum[i],min[i],max[i])
       } else {
           printf("%-20s%-15d%-15s%-15s%-15s%-15d\n",cols[i],count[i],"NA","NA","NA",length(unique[i]))
       }
   }
}

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
使AWKCSV
该示例代码演示如何使用AWK命令过滤和统计CSV文件中的数据。该脚本能够读取CSV文件,识别每列的数据类型,并对每列进行统计计算、去重和排序等操作。# 设定分隔符为逗号BEGIN {FS=&quo
AWK 5.0.1
AWK
2023-05-19 20:27
使AWKCSV
这个示例代码演示了如何使用AWK工具对CSV文件进行过滤和计算,它通过读取输入文件,查找匹配的行并对其中的数据执行计算,并输出结果到终端。其实现方式利用了AWK内置的语言特性和命令选项。#!/usr
未指定
AWK
2023-05-29 21:29
使awk命令处理csv
该示例代码使用awk命令对csv文件中的数据进行筛选和处理,包括选择特定列的数据、筛选特定条件下的数据等。实现方式为在awk命令中使用特定的选项和语法。# 选取第一列和第三列,输出每行数据awk
GNU AWK 5.0.1
GNU Awk
2023-03-31 13:46
使awkCSV
本示例代码展示了如何使用awk过滤CSV文件中的行,只保留第一列是数字的行。该实现方式使用了awk的内置功能,包括分隔符和条件判断。#!/usr/bin/awk -fBEGIN { FS=OFS=
awk 4.0.2
awk
2023-04-30 01:53
使awk命令在CSV查找
这段awk代码展示了如何在CSV文件中使用awk命令查找和过滤数据。CSV文件是以逗号为分隔符的文本文件,通常用于存储表格数据。这个例子展示了如何使用awk命令过滤掉特定条件下的行。awk -F&q
awk 4.2.1
awk
2023-04-19 12:00
使awkCSV空行
介绍如何使用awk命令过滤CSV文件中的空行,从而解决在读取该文件时出现的问题。首先需要了解awk的工作原理。awk 'NF!=0' file.csv > new_file.csv上述代码
GNU Awk 4.1.4
GNU Awk
2023-04-29 17:18
使awk命令编辑CSV
展示利用awk命令对CSV文件进行过滤和编辑的实现方式,能够解决CSV文件处理中的常见问题。此示例代码使用awk命令实现在CSV文件中查找并输出特定行和列的数据,并将其写入新文件中。awk -F,
GNU Awk 5.0.1
GNU Awk
2023-04-20 10:27
使AWK实现内容
AWK是一种强大的文本处理工具,可以通过简洁的脚本实现文件内容的过滤和统计。以下示例代码演示如何使用AWK从文本文件中提取特定信息,并计算其出现次数。# AWK脚本:统计文件中以空格分隔的第一列的出
AWK 4.2.1
AWK编译器
2023-11-24 15:28
使Perl从CSV
此示例演示如何使用Perl中的Text::CSV_XS模块从CSV文件中过滤数据。CSV文件可以包含逗号分隔的值,也可以使用其他分隔符。在此示例中,我们将使用逗号分隔的文件。use strict;
Text::CSV_XS-1.24
Text::CSV_XS模块
2023-05-27 02:53
使awkCSV某列
本示例代码通过awk命令从CSV文件中读取指定的列,并统计该列所有值的总和。实现方式为指定字段分割符,并使用awk特有的内置变量$1,代表第一列的值。awk -F "," '{s
GNU Awk 4.1.4
GNU Awk
2023-04-08 08:42