csv - 我在数组中有 10 个 csv 文件,我想使用 perl 对每个 csv 文件的行数
问题描述
我有 10 个 CSV 文件@files
。现在我想计算每个 CSV 文件中的行数。我已经尝试了下面的代码,但它只返回给我 CSV 计数。
my $directory = 'C:\folder';
open "dir", $directory or die;
@files = readdir "dir";
close("dir");
请帮助我实现上述场景。
解决方案
这可以帮助您:
#!/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) 中对其进行了测试。
推荐阅读
- google-cloud-platform - 使用gcloud sdk调用云功能时如何传递消息的属性?
- vim - 在 OsX mojave 中安装 CommandT 。我收到错误 Vim Command-T 插件错误:无法加载 C 扩展
- java - 可以在Tomcat上部署springboot,但是运行时显示404
- algorithm - Heuristic 将如何影响 Dikstras 算法使其成为 A* 算法
- sitecore - 如何解决 Sitecore 计划任务在添加后 10 分钟内被跳过的问题?
- python - 如何在 Pandas 中通过 Id 将数据框的列值替换为另一个数据框值
- ruby-on-rails - 在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”
- vagrant - Vagrant 2.2.3 错误:等待机器启动时超时
- excel - 宏程序不连续运行...只运行一次
- aws-lambda - 在 aws lambda 中运行 AIRFLOW