我正在尝试编写一些用于从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
答案 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];
}