读取CSV文件并写入CSV文件

时间:2016-04-20 03:27:52

标签: perl csv

use Text::CSV;
$csv = Text::CSV->new;
open(HIGH, "+>Hardtest.csv") || die "Cannot open ticket $!\n"; #reads the high file
while(<HIGH>)
{
    print "Printing High Priority Tickets ...\n";
    sleep(1);
    print <HIGH>;
}
close(HIGH);

这是我的代码,我正在尝试阅读csv并写入它,但是我似乎无法阅读CSV文件,请帮助,谢谢!

2 个答案:

答案 0 :(得分:2)

好的,这里有很多东西。

  1. 始终use strictuse warnings
  2. 您是否正在打开CSV文件写入模式(追加模式?)。如果您只是从中阅读,请不要这样做。
  3. 请勿使用|| die,请使用or die
  4. 最后,不要print <HIGH>,而是print $_

答案 1 :(得分:0)

我稍微修改了你的代码:

#!/usr/bin/perl -w
use strict;
use Text::CSV;

my $csv = Text::CSV->new;
open(HIGH, "+<Hardtest.csv") || die "Cannot open ticket $!\n"; #reads the high file
while(<HIGH>)
{
    print "Printing High Priority Tickets ...\n";
    print $_;
    sleep(1);
}
print HIGH "9,10,11,12\n";
close(HIGH);

让我解释一下: 1.“+&gt;”将以读/写模式打开文件,但也会覆盖现有文件。因此,在您的代码中,while循环永远不会输入。我已将其更改为“+&lt;”这意味着在追加模式下读/写。 2.在上面的代码中,最后一个语句会将新内容附加到CSV文件中。