小编hi1*_*123的帖子

使用Perl将CSV文件从特定行解析到文件末尾

我对Perl很新,需要你的帮助

我有一个xyz.csv包含内容的CSV文件:

这里的level1和er值是字符串名称......不是数字......

level1,er
level2,er2
level3,er3
level4,er4
Run Code Online (Sandbox Code Playgroud)

我使用下面的脚本解析此CSV文件,并在第一次运行时将字段传递给数组

open(my $d, '<', $file) or die "Could not open '$file' $!\n";
while (my $line = <$d>) {
  chomp $line; 
  my @data = split "," , $line; 
  @XYX = ( [ "$data[0]", "$data[1]" ], );
}
Run Code Online (Sandbox Code Playgroud)

对于第二次运行,我从命令提示符获取输入并存储在变量中$val.我的程序应该从存储在变量中的值解析CSV文件,直到它到达文件末尾

例如

我输入level2所以我需要一个脚本从第二行解析到CSV文件的末尾,忽略文件中的值level2,并将这些值(level2to level4)传递给@XYX = (["$data[1]","$data[1]"],);}

level2,er2
level3,er3
level4,er4
Run Code Online (Sandbox Code Playgroud)

我输入level3所以我需要一个脚本从第三行解析到CSV文件的末尾,忽略文件中之前的值level3,并将这些值(level3level4)传递给@XYX = (["$data[0]","$data[1]"],);}

level3,er3
level4,er4
Run Code Online (Sandbox Code Playgroud)

我如何实现这一目标?请提出宝贵的建议.我感谢您的帮助

csv perl perl-module

5
推荐指数
1
解决办法
2416
查看次数

标签 统计

csv ×1

perl ×1

perl-module ×1