使用Perl读取一个巨大的CSV文件的最好方法是什么? [英] What's the best way to read a huge CSV file using Perl?

查看:290
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆