[mod_python] MySQLdb error - PLEASE SAVE ME!

Ed Hotchkiss edhotchkiss at gmail.com
Sat Sep 17 17:42:07 EDT 2005


Thanks alot! Of course, Of the hundreds of links in the txt file, the one 
without a comma (which I somehow missed) was the one of ten links which I 
had hand typed into the file which I had discovered today. Thanks again, 
sorry for wasting your time with a stupid error like that. Thanks to 
everyone else also.

On 9/17/05, Jim Gallacher <jg.lists at sympatico.ca> wrote: 
> 
> Ed Hotchkiss wrote:
> > Hmm ... Actually, now that I use it with a much longer file (the past
> > file was like 6 links), this file is several hundred. I get this error 
> now:
> >
> > >>>
> > Traceback (most recent call last):
> > File "G:\Python\myCode\Links Database\addfromtext2.py", line 30, in ?
> > cursor.execute ("""
> > IndexError: list index out of range
> > >>>
> >
> > I'm guessing that it has something to do with the primary index, "ID"? I
> > tried auto increment, but no go with that too, same error ...
> 
> More likely one of the lines in sites.txt has fewer than 3 fields. Try
> running the following:
> 
> inp = open ("sites1.txt","r")
> for line in inp.readlines():
> links = map(str, line.split(","))
> print links[0], links[1], links[2]
> 
> 
> It will like generate the same error. You may want to consider using the
> python csv module rather than split.
> 
> Jim
> 
> >
> > On 9/17/05, *Ed Hotchkiss* <edhotchkiss at gmail.com
> > <mailto:edhotchkiss at gmail.com>> wrote:
> >
> >
> > Thanks alot! I guess I don't even need arr (why did I have it there,
> > no idea -)
> > The only thing I was wondering (the code is awesome, but I love to
> > learn :P )
> >
> > Is UID a placeholder the ID? How do I have it automatically
> > increment .. and is that a better idea, to autoincrement?
> >
> > Thanks again. It feels good to migrate completely to linux now, and
> > transfer all of my access files to csv, then into mysql.
> >
> >
> > uid = 0
> > inp = open ("sites1.txt","r")
> > for line in inp.readlines():
> > uid += 1
> > links = map(str, line.split(","))
> > cursor.execute ("""
> > INSERT INTO links (ID, Name, URL, Category)
> > VALUES (%d, "%s", "%s", "%s")""" % \
> > (uid, links[0], links[1], links[2])
> > )
> >
> > ----
> > Also, what is the \ for after the % sign to the right of VALUES? thanks.
> > -edward
> >
> >
> >
> >
> >
> >
> > On 9/17/05, *Eric Walstad* <eric at ericwalstad.com
> > <mailto:eric at ericwalstad.com>> wrote:
> >
> > On Saturday 17 September 2005 12:40 pm, Ed Hotchkiss wrote:
> > [snip]
> >> stmt = """CREATE TABLE links (
> >> ID INT NOT NULL,
> >> Name TEXT,
> >> URL LONGTEXT,
> >> Category LONGTEXT,
> >> primary key (ID)
> >> )"""
> >> cursor.execute(stmt)
> >>
> >>
> >> arr=[]
> >> inp = open ("sites1.txt","r")
> >> #read line into array
> >
> >> for line in inp.readlines():
> >> links = map(str, line.split(","))
> >> arr.append(links)
> >> cursor.execute ("""
> >> INSERT INTO links (Name, URL, category)
> >> VALUES (%s, %s, %s)""" % tuple(links[0:3])
> >> )
> >> cursor.close()
> >> conn.close()
> >
> > Perhaps this is a bit naive but would this do it for you (you didn't
> > say what error(s) you are getting)?
> >
> > uid = 0
> > for line in inp.readlines():
> > uid += 1
> > links = map(str, line.split(","))
> > arr.append(links)
> > cursor.execute ("""
> > INSERT INTO links (ID, Name, URL, Category)
> > VALUES (%d, "%s", "%s", "%s")""" % \
> > (uid, links[0], links[1], links[2])
> > )
> >
> > The differences are:
> > - Your table def doesn't specify an auto-incrementing id and won't
> > allow null values so we need to insert a number.
> > - Quotes around the string data. I this might not be needed. I'm
> > not sure if MySQLdb does it for you.
> > - I think MySQL is sensitive to case, so I changed 'category' to
> > 'Category'.
> > _______________________________________________
> > Mod_python mailing list
> > Mod_python at modpython.org <mailto:Mod_python at modpython.org>
> > http://mailman.modpython.org/mailman/listinfo/mod_python
> > <http://mailman.modpython.org/mailman/listinfo/mod_python>
> >
> >
> >
> >
> > --
> > edward hotchkiss
> >
> >
> >
> >
> > --
> > edward hotchkiss
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Mod_python mailing list
> > Mod_python at modpython.org
> > http://mailman.modpython.org/mailman/listinfo/mod_python
> 
> 


-- 
edward hotchkiss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20050917/62874657/attachment.html


More information about the Mod_python mailing list