使用Perl读取一个巨大的CSV文件的最好方法是什么? [英] What's the best way to read a huge CSV file using Perl?
本文介绍了使用Perl读取一个巨大的CSV文件的最好方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
需求
- 我有一个非常大的CSV文件要阅读。 (约3 GB)
- 我不需要所有记录,我的意思是,有一些条件,我们可以使用,例如,如果第三个CSV列内容有'XXXX'和第4列有'999'。
问题:
我可以使用这些条件来改进读取过程吗?如果是,我该如何使用Perl?
Question: Can I use these conditionals to improve the read process? If so, how can I do that using Perl?
我需要一个例子(Perl Script)。
I need an example (Perl Script) in your answer.
推荐答案
这里有一个解决方案:
#!/usr/bin/env perl
use warnings;
use strict;
use Text::CSV_XS;
use autodie;
my $csv = Text::CSV_XS->new();
open my $FH, "<", "file.txt";
while (<$FH>) {
$csv->parse($_);
my @fields = $csv->fields;
next unless $fields[1] =~ /something I want/;
# do the stuff to the fields you want here
}
这篇关于使用Perl读取一个巨大的CSV文件的最好方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文