Perl的。如何打开csv文件,计算它有多少行和列

时间:2013-08-13 21:49:16

标签: perl file parsing csv count

我有一个msft.csv文件。列由“,”分隔。这实际上是一张桌子。无法发布图片,不懂如何附加文件。

我的任务是:

  1. 打开文件并计算并打印它拥有的行数和列数。列由“,”分隔。
  2. 打开文件并打印这些列的最大值,最小值: 打开,高,低,关闭,交易量,调整关闭与相应的日期
  3. 打开文件并计算并打印这些列的平均值: 打开,高,低,关闭,音量,调整关闭
  4. 我读过一些文献,但我无能为力。实际上,我所能做的就是打开文件并将其打印出来。

    我认为我应该使用Text :: CSV模块,但我无法找到正确的语法。

    我在这里完成了前6章http://www.perl.org/books/beginning-perl/ 我还阅读了http://perldoc.perl.org/index.html的一些信息 但到目前为止我还是零。

    如果可能的话 - 使用/不使用模块来查看解决方案会很棒。 我会试着想一想你在那里做了什么,但如果不是太麻烦,如果你能解释一下,我会很感激。

    关于我应该阅读哪些文献的任何建议?有用的链接吗?

    p.s英语是我的第二语言,所以请原谅我的语法。

    p.p.s我可以用文本文件做smtg,但我还没有看到一个表格的例子。

1 个答案:

答案 0 :(得分:1)

这样的事情对你有用:

#!/usr/bin/perl
use strict;
use warnings;

my $filename = 'test.txt';
my $line;
my $lines = 0;
my @columns;

open(my $fh, '<', $filename) or die "Can't open $filename: $!";

$line = <$fh>;
@columns = split(',', $line);
$lines++ while <$fh>;
close $fh;

print "$lines lines\n";
print scalar @columns . " columns\n";