csv - 如何从头开始读取 CSV?
问题描述
use Text::CSV_XS;
my $csv = Text::CSV_XS->new;
open my $fh, "test.csv" or die "test.csv: $!";
while (my $row = $csv->getline($fh)) {
my @fields = @$row;
if ($fields[0] eq "A1") {
print "Found A1", "\n";
last;
}
}
# now start searching the CSV again
如果我已经使用Text::CSV_XS浏览了一些 CSV ,那么我该如何从头开始呢?有没有办法将指针/窗口返回到文件的开头?
解决方案
use Fcntl qw( SEEK_SET );
seek($fh, 0, SEEK_SET);
您也可以重新打开文件。
推荐阅读
- logrotate - 如何使 logrotate 为已经存在的日志文件工作?
- sql - 音乐会数据库的子查询
- python-3.x - 一次性激活python代码,并提供更新?
- python - 'NoneType' 对象在 Django 迁移中没有属性 'is_relation' 错误
- c - 我不明白为什么这个循环不执行它的块
- python - Keras 不导入
- c++ - 使用 enable_if 仅匹配具有特定静态数据成员且仅具有特定值的类
- php - 在 JSON 中获得两次输出
- php - 如何在 PHP 中创建设置选项
- javascript - 生产与开发中的 Django/React 应用程序 API?