barakuda has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks,
I have a problem... There is some data comming in a .CSV file. There are 10 columns and the values in the 10th column may or may not contain commas! So CSV formatting becomes messed up with that 10th column (i.e. some values jusp to 11th, 12th, etc. columns)
.
So, what I was thinking is to use regular expressions to match to the last column, then substitute commas with semicolumns, and finally rewrite the data.
What I have now (and what doesn't work) is:
open (OUT, ">file.csv") foreach my $line (@out){ $line =~ m/(.*?,){10}/; my $tmp = $1; chomp ($tmp); $tmp =~ s/,/;/; ... WHAT HERE? ...} close (OUT);
I don't know where to go from here. Efficiency is also a concern since the file has 7500 lines and operations with strings like that may take a consederable amount of time.
Any suggestions?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: CSV problem
by Tux (Canon) on Mar 07, 2008 at 16:39 UTC | |
|
Re: CSV problem
by moritz (Cardinal) on Mar 07, 2008 at 16:53 UTC | |
| |
|
Re: CSV problem
by Cristoforo (Curate) on Mar 07, 2008 at 16:36 UTC | |
|
Re: CSV problem
by moritz (Cardinal) on Mar 07, 2008 at 16:33 UTC | |
by Tux (Canon) on Mar 07, 2008 at 16:41 UTC |