Bruno,
That is originally how I had my code.
///
import csv
from myproject.site.models import OrderEmail
reader = csv.reader(open("myfile.csv", "rb"))
for row in reader:
try:
b = OrderEmail(name=row[0], email=row[1], been_sent="0")
b.save()
except:
pass
////
I think what is going on is that my email field has to be unique.
When I try to save a record with an email address that is already in
the db that is when I get directed to the except clause. So that is
why some records are have an error. Now all I need to know if how to
have my for loop keep going through the records...and just disregard
the records that have an email address that is already in the db.
On May 19, 2:38 pm, bruno desthuilliers
<[EMAIL PROTECTED]> wrote:
> On 19 mai, 20:48, Greg <[EMAIL PROTECTED]> wrote:
>
> > Hello,
> > I have the following code:
>
> > ///
>
> > import csv
> > from myproject.site.models import OrderEmail
>
> > reader = csv.reader(open("myfile.csv", "rb"))
> > for row in reader:
> > try:
> > b = OrderEmail(name=row[0], email=row[1], been_sent="0")
> > b.save()
> > except:
>
> Advice from a long-time Python programmer : *never* use a bare except
> clause, always specify explicitely what exception(s) you intend to
> handle.
>
> > pass
> > assert False, "End"
>
> > Whenever I run across the first problem record...my for loop stops and
> > 'End' is printed. I thought having 'except: pass' meant that the
> > record would be skipped and it would proceed to read the next line.
>
> Given your code, that's what should happen. But:
>
> > However, now when it finds a exception and assert statement is
> > printed.
>
> Err... In the above code, the assert statement will be executed
> whether there's an exception or not. And "assert False" will always
> raise. This has nothing to do with your error handling in the for
> loop, and exceptions happening or not.
>
> > Any suggestions on how I can read every record in the file and if an
> > error is encountered then have it just skip that record...without
> > stopping the loop?
>
> Just remove the assert statement. And by all mean, do yourself (and
> whoever will have to maintain this code) a favour and don't leave that
> bare except clause.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---