pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Oliver Vecernik <vecernik@aon.at>
To: pgsql-sql <pgsql-sql@postgresql.org>
Subject: Re: CSV import
Date: Wed, 29 Jan 2003 06:50:42 +0100
Message-ID: <3E376BB2.4010302@aon.at> (raw)
References: <3E3697AF.2030509@aon.at>

Oliver Vecernik schrieb:

> Hi again!
>
> After investigating a little bit further my CSV import couldn't work 
> because of following reasons:
>
> 1. CSV files are delimited with CR/LF
> 2. text fields are surrounded by double quotes
>
> Is there a direct way to import such files into PostgreSQL? 

The answer seems to be no. But after googeling a bit a found a wonderful 
Python module called csv at:

http://www.object-craft.com.au/projects/csv/

A minimal script called 'csv2tab.py' for conversion to a tab delimited 
file could be:

#!/usr/bin/env python
 
import csv
import sys

def convert(file):
    try:
        f = open(file, 'r')
        lines = f.readlines()
        p = csv.parser()
        for line in lines:
            print '\t'.join(p.parse(line))
    except:
        print 'Error opening file!'
   
if __name__ == '__main__':
    convert(sys.argv[1]);

Regards,
Oliver

-- 
VECERNIK Datenerfassungssysteme
A-2560 Hernstein, Hofkogelgasse 17
Tel.: +43 2633 47530, Fax: DW 50
http://members.aon.at/vecernik






view thread (12+ messages)  latest in thread

Message-ID: <3E376BB2.4010302@aon.at>
Permalink:  ../3E376BB2.4010302@aon.at/
Also on:    postgresql.org/message-id/3E376BB2.4010302@aon.at

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: vecernik@aon.at
  Subject: Re: CSV import
  In-Reply-To: <3E376BB2.4010302@aon.at>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox