RE: Off topic? - Solution for a delimiter problem
От | Jeff Eckermann |
---|---|
Тема | RE: Off topic? - Solution for a delimiter problem |
Дата | |
Msg-id | 08CD1781F85AD4118E0800A0C9B8580B094855@NEZU обсуждение исходный текст |
Ответ на | Off topic? - Solution for a delimiter problem (Andrew Gould <andrewgould@yahoo.com>) |
Список | pgsql-general |
Isn't this overkill? Something like: sed -e 's/\" \"/^I/g' -e 's/\"//g' <file> would do the job nicely. I'm sure people on this list can suggest even simpler ways (note: the "^I", or tab character, in the example is created by typing Ctrl-V then Ctrl-I). Sed has been (and is) my friend for many such cases. > -----Original Message----- > From: Andrew Gould [SMTP:andrewgould@yahoo.com] > Sent: Wednesday, December 20, 2000 5:58 PM > To: Postgres Mailing List > Subject: Re: [GENERAL] Off topic? - Solution for a delimiter problem > > If space was used as the delimiter without accounting > for the quotation marks, text fields might be broken > apart whenever a space occurred. For example, the > street address "123 Sesame Street" might be split into > 3 fields containing '"123', 'Sesame' and 'Street"' > respectively. In the past, I imported the file into > MySQL, then exported the data into a tab delimited > text file for importing into PostgreSQL. > > The Python script saves many steps; so I was offering > it up for use and improvement by others. I didn't > know if I should post the script to the mailing list > or send it directly to people who are interested. > (It's only 1k.) > > Andrew Gould > > --- "Poul L. Christiansen" <poulc@cs.auc.dk> wrote: > > Maybe you can specify the delimiter to be space. > > > > radius=# \h copy > > Command: COPY > > Description: Copies data between files and tables > > Syntax: > > COPY [ BINARY ] table [ WITH OIDS ] > > FROM { 'filename' | stdin } > > [ [USING] DELIMITERS 'delimiter' ] > > [ WITH NULL AS 'null string' ] > > COPY [ BINARY ] table [ WITH OIDS ] > > TO { 'filename' | stdout } > > [ [USING] DELIMITERS 'delimiter' ] > > [ WITH NULL AS 'null string' ] > > > > That would probably be COPY table FROM filename > > USING DELIMITERS ' '; > > > > HTH, > > Poul L. Christiansen > > > > Andrew Gould wrote: > > > > > I receive space delimited files that have spaces > > > within double quoted text fields. > > > > > > Since PostgreSQL's COPY doesn't deal with multiple > > > delimiters, I've written a crude Python script to > > > convert the files to a tab delimited format > > without > > > the double quotes and without disturbing the > > spaces > > > within text fields. I'm sure someone could make > > it > > > more efficient. (Probably by rewriting it in > > Perl.) > > > > > > Does anyone else need the script? Is the script > > > something I can/should post? > > > > > > Andrew Gould > > __________________________________________________ > Do You Yahoo!? > Yahoo! Shopping - Thousands of Stores. Millions of Products. > http://shopping.yahoo.com/
В списке pgsql-general по дате отправления: