1

我有一个 msft.csv 文件。列用“,”分隔。这实际上是一张桌子。不能发图片,不明白怎么附加文件。

我的任务是:

  1. 打开文件并计算并打印它有多少行和列。列用“,”分隔。
  2. 打开文件并打印这些列的最大值、最小值:Open、High、Low、Close、Volume、Adj Close 以及相应的日期
  3. 打开文件并计算并打印这些列的平均值:Open,High,Low,Close,Volume,Adj Close

我读过一些文献,但我不能做任何有用的事情。实际上我所能做的就是打开文件并打印出来。

我想我应该使用 Text::CSV 模块,但我想不出正确的语法。

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

如果可能的话 - 很高兴看到有/没有使用模块的解决方案。我会试着弄清楚你在那里做了什么,但如果不是太麻烦的话,如果你能解释一下,我会很感激的。

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

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

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

4

1 回答 1

2

像这样的东西应该适合你:

#!/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";
于 2013-08-13T22:58:44.213 回答