Perl包Tie :: CSV_File

时间:2011-08-11 14:50:42

标签: perl cpan

我正在尝试编写一些用于从CSV文件中提取信息的perl代码。在我开始从头开始编写代码之前,我已经用Google搜索并检查CPAN以查看可能存在哪种perl模块来帮助并遇到包Tie::CSV_File

我的问题/问题是:我似乎无法从CPAN安装它,因为该模块的测试有大量错误。我找不到任何解释如何解决这个模块的问题。我甚至尝试直接下载模块并构建它,但那些错误仍然存​​在。我使用了perl 5.10,5.12和5.14,但错误仍然存​​在,显然仍然相同。

有谁知道发生了什么事?

有没有人可以替代Tie::CSV_File?我想使用它的原因是因为它允许您打开CSV文件并将其视为一个数组,直接通过使用二维数组语法对它们进行处理来访问每个单元格。

提前感谢您的任何见解。

编辑#1 当我尝试安装Tie :: CSV_File时,我收到以下错误消息:

    Files=12, Tests=10,  1 wallclock secs ( 0.05 usr  0.02 sys +  0.79 cusr  0.12 csys =  0.98 CPU)
Result: FAIL
Failed 10/12 test programs. 4/10 subtests failed.
make: *** [test_dynamic] Error 255
  BIGJ/Tie-CSV_File-0.21.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports BIGJ/Tie-CSV_File-0.21.tar.gz
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 BIGJ/Tie-CSV_File-0.21.tar.gz                : make_test NO

2 个答案:

答案 0 :(得分:2)

如果任何安慰Tie::CSV_File似乎是failing for everyone!我会环顾四周,尝试提供一些替代方案。 现在你可以尝试安装一个看起来效果更好的以前的版本。没关系,似乎Perl版本的测试都失败了> 5.8。

更新:我尝试修补Tie::CSV_File以修复其漏洞。我解决了一些问题,但无法解决我的问题。最接近的其他CPAN模块是Tie::Array::DBD,尽管它声称CSV的性能非常低。

我已经嘲笑自己尝试制作一个tie能力的CSV数组,现在已经将其发布到CPAN,名为Tie::Array::CSV,并且可以在github上使用。

答案 1 :(得分:0)

我使用了很多csv文件提取信息。使用Tie :: CSV_FILE的另一种方法是:

open my $file, '<', "filename.csv"; 

while(defined ( my $line = <$file> ) ){ 
  my @lineArray = split ',', $line; 
  my $firstValue  = $lineArray[0];
  my $secondValue = $lineArray[1]; 
}