Unix bash环境下如何正确统计xlsx格式Excel文件的有效行数
Unix单工作表xlsx文件有效行数统计方法(无需额外安装模块)
xlsx格式本质是ZIP压缩包,单个工作表的结构化数据默认存储在压缩包内的
xl/worksheets/sheet1.xml文件中,每行数据对应XML中的<row>标签,利用系统默认自带的解压、文本处理工具即可直接统计,无需安装第三方模块或转换格式。
基础统计命令
统计所有行(包含空行、表头行):
unzip -p 目标文件.xlsx xl/worksheets/sheet1.xml | grep -o '<row' | wc -l
常用调整方案
- 排除完全空行:仅统计包含至少一个单元格的行
unzip -p 目标文件.xlsx xl/worksheets/sheet1.xml | grep '<row.*<c' | wc -l
- 排除表头行:如果第一行是表头,统计结果减1即可
unzip -p 目标文件.xlsx xl/worksheets/sheet1.xml | grep -o '<row' | wc -l | awk '{print $1-1}'
注意事项
- 该方案仅适用于单个工作表的xlsx文件,多工作表场景需将命令中的
sheet1.xml替换为对应工作表的文件(如第二个工作表对应sheet2.xml) - 依赖的
unzip、grep、wc、awk均为Unix/Linux发行版默认预装工具,无需额外安装依赖
内容的提问来源于stack exchange,提问作者干猕猴桃
相关产品推荐
相关产品推荐

