i have a question for parsing the csv file. i had csv file and have each row like this:
'car reg, location, 'gps string: lats:xxxx,longs:xxxxx, Alts:xxxx', number of satellites fix';how can i split this into an array, so it has 4 values ? i know how to do this with double quotation, but not sure with single. there must be someway to do it. i also tried the Text::ParseWords, but not sure how to use it with parsing csv file. anyone can help ?
i also attached my code here:thanks !#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $parser = Text::CSV->new(); sub trim($); my $scomma = "@"; my $nline = "\n"; open (TEMP, $file) or die("Error: cannot open $file\n"); open (OUTPUT,">$outfile") or die("Error: cannot open $outfile\n"); while (my $line = <TEMP>) { if ($parser->parse($line)) { my @fields = $parser->fields(); print OUTPUT trim($fields[0]).$scomma.trim($fields[1]).($fields[2] +).$scomma.trim($fields[3]).$scomma.trim($fields[17]).$scomma.trim($fi +elds[18]).$nline; } }
In reply to How to parse a csv file by comma, but ignore comma inside the single quotation by hujunsimon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |