我有这种格式的csv文件:
"Keyword" "Competition" "Global Monthly Searches" "Local Monthly Searches (United States)" "Approximate CPC (Search) - INR"
"kasperaky support" -0 -0 -0 -0
Run Code Online (Sandbox Code Playgroud)
第一行是列标题.
我已经在Text :: CSV中尝试了大多数选项,但我无法提取字段.
这里sep_char =>''
我最接近的是获得第一列的第一个单词(仅限"kasperaky").
我正在以这种方式创建对象(在尝试各种设置时):
my $csv = Text::CSV->new ( {
binary => 1 ,
sep_char=>' ',allow_loose_quotes=>0,quote_space=>0,quote_char => '"',
,allow_whitespace =>0, eol=>"\015\012"
} )
or die "Cannot use CSV: ".Text::CSV->error_diag ();
Run Code Online (Sandbox Code Playgroud)
您的CSV是以制表符分隔的.使用以下代码(测试代码以对照您的示例文件):
use strictures;
use autodie qw(:all); # automatic error checking open/close
use charnames qw(:full); # \N named characters
use Text::CSV qw();
my $csv = Text::CSV->new({
auto_diag => 2, # automatic error checking CSV methods
binary => 1,
eol => "\N{CR}\N{LF}",
sep_char => "\N{TAB}",
}) or die 'Cannot use CSV: ' . Text::CSV->error_diag;
open my $fh, '<:encoding(ASCII)', 'computer crash.csv';
while (my $row = $csv->getline($fh)) {
...
}
close $fh;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |