Perl
发布时间:2022-04-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl – 根据某列排序CSV?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我确信我过去已经这样做过了,我忘记了一些小问题,但是如何
在某个列上对CSV文件进行排序呢?我对有和没有第三方Perl模块的答案感兴趣.主要方法没有,因为我并不总是有权安装额外的模块.
示例数据:
@H_
675_4@name,25,female
name,24,male
name,27,21,male
在第二个数字列上排序后所需的最终结果:
@H_
675_4@name,female
解决方法
由于CSV是一种非常复杂的格式,
因此最好使用为我们工作的模块.
以下是使用Text::CSV模块的示例:
@H_
675_4@#!/usr/bin/env perl
use
Strict;
use warnings;
use constant AGE => 1;
use Text::CSV;
my $csv = Text::CSV->new(
);
my @rows;
while ( my $row_ref = $csv->getline( \*DAT
a ) )
{
push @rows,$row_ref;
}
@rows = sort
{ $a->[AGE] <=> $b->[AGE] } @rows;
for my $row_ref (@rows)
{
$csv->combine(@$row_ref
);
print $csv->
String(),"\n";
}
__DATA__
name,male
大佬总结
以上是大佬教程为你收集整理的perl – 根据某列排序CSV?全部内容,希望文章能够帮你解决perl – 根据某列排序CSV?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。