> Have any of you guys imported excel/cvs by using
> Python/Django? I need to import 1000 products for a shopping
> site and I'd like to learn the fastest and easiest way to do
> so.

I do this day in and day out :)

I prefer tab-delimited because it's easy and clean, though 
Python's built-in "csv" module can ease the pain of working with 
csv (which I presume you mean, rather than CVS, which is the 
Concurrent Versioning System)

I usually just write INSERT statements by hand, directly using 
the DB interface for my backend (PostgreSQL in this case) and 
then run a little Python code to iterate over the file and spew 
the data into the system:

   filename = 'foo.tab'
   for i, line in enumerate(open(filename)):
     if i == 0: continue # skip the header row
     (fieldname1, fieldname2, fieldname3 ...
      ) = line.rstrip('\n').split('\t')
     cursor.execute("""
       INSERT INTO app_foo
       (f1, f3, f2)
       VALUES
       (%s, %s, %s)
       """, (fieldname1, fieldname3, fieldname2)
       )

You may have to do lookups into other tables, etc, but this is 
generally how I do it.  Things can also get fancier if your input 
file can have the columns in any arbitrary order.  The above simply

 From within a running Django app, you can make use of the ORM to 
ease some of the annoyances, but when bulk-loading the data 
repeatedly (several thousand rows of data, multiple times per 
day), I personally like the control of raw SQL to eke out the 
last bit of performance from my DB connection.

I've seen some tools that try to ease this for you, but I've 
never been impressed by them, as I end up spending as much time 
fiddling with them as it would take me to bang out some python 
code to do the same thing.

-tim





--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to