首页 > 解决方案 > 我在数组中有 10 个 csv 文件,我想使用 perl 对每个 csv 文件的行数

问题描述

我有 10 个 CSV 文件@files。现在我想计算每个 CSV 文件中的行数。我已经尝试了下面的代码,但它只返回给我 CSV 计数。

my $directory = 'C:\folder';
open "dir", $directory or die;
@files = readdir "dir";
close("dir");

请帮助我实现上述场景。

标签: csvperl

解决方案


这可以帮助您:

#!/usr/bin/perl

use strict; use warnings;

my $directory = "/path/to/the/directory/";
my @files = glob("$directory*.csv");

foreach my $file (@files){
    my $lines = 0;
    open (FILE, $file) or die "Can't open '$file': $!";
    $lines++ while (<FILE>);
    close FILE;

    print "File:$file = $lines\n";
}

在 Ubuntu 20.04 (Perl v5.30.0) 中对其进行了测试。


推荐阅读