【发布时间】:2013-08-31 09:36:34
【问题描述】:
我有一个解析 csv 文件的代码,并且数据还包含换行符。 但是 Text::CSV 在数据中遇到“\n”时会中断
这是解析代码
use Data::Dumper;
use Text::CSV;
my $csv = Text::CSV->new ({ binary=> 1, eol => $/, allow_loose_quotes => 1, allow_loose_escapes=> 1 }) || die $!;
#print Dumper($csv);
my $file = $ARGV[0];
open my $csv_handle, $file or die $!;
while (my $row = $csv->getline($csv_handle)) {
print Dumper($row);
}
这是数据
196766,31,"MR SRINIVASALU LAKSHMIPATHY\"DEC\"\
\"71"
196766,56,"255233.47"
【问题讨论】:
-
数据是否需要包含换行符?你能
s/\n//;吗? -
差不多...试试
s/\\\n//sg; -
不,我不想丢失数据中的换行符
-
在这里为我工作。您可能需要指定您所在的平台、Text::CSV 的版本以及它是纯perl 版本还是XS 版本。哦,文件的行尾是否与您的 perl 操作系统相同。