in reply to Re: Doublequotes in column
in thread Doublequotes in column

Hi Marshall,

I tried the code, but it didn't remove the double quotes when opened as text file. I tried it on the whole $line and on $Uni (3rd column). No effect. Then, I had to manually cut the 3rd column into a text file and open it in spreadsheet to get rid of the doublequotes. Basically, this file was created using text::CSV_XS with the option always_quote=>1. The reason I wanted to get rid of this double quote is that this created problems when column 3 is used to match with another file.

Replies are listed 'Best First'.
Re^3: Doublequotes in column
by Marshall (Canon) on Dec 06, 2011 at 09:45 UTC
    Well, tr will remove the " characters, like below...
    tr is a simple minded critter, but it is faster than substitute.

    If you created this with Text::CSV, then I would use that to parse it back in. Normally, I don't think that you have to specify the XS version, if its there, then it gets used - to the best of my knowledge.

    I'm still on a marathon DB project, but my machine has to think for 4-5 hours about what I've done so far. But on this project, | is used as the CSV delimiter instead of "," and that often works out very well. Sometimes I also see || and that is ok too (in the split, you can specify /\|\|/ as the splitting regex. In the DB that I'm working with | is explicitly not allowed as a valid data field value and hence it can be used as a simple delimiter in the CSV format and the Text::CSV module is not needed. But mileage varies...

    #!/usr/bin/perl -w use strict; while (<DATA>) { tr/"//d; print; } # prints: # some,always,quoted stuff # more,stuff,like that __DATA__ "some","always","quoted stuff" "more","stuff","like that"