MySQLdb, lots of columns and newb-ness
Andrew Sackville-West
andrew at farwestbilliards.com
Wed Dec 20 00:20:01 EST 2006
On Tue, Dec 19, 2006 at 07:34:58PM -0800, Todd Neal wrote:
> Andrew Sackville-West wrote:
> >
> > I can successfully connect to mysql and do stuff to my tables my
> > specific problem is how to efficiently put those 132 fields into the
> > thing. All I have been able to figure out is really ugly stuff like:
> > build the mysql statement out of various pieces with appropriate
> > commas and quote included. stuff like (not tested)
> >
>
> I just started looking into Python myself, so someone can probably
> clean this up or suggest a better way, but this may work:
okay, let me run through this and see if I understand:
>
>
> import MySQLdb
>
> fields = ["field1\r\n","field2\r\n","field3\r\n"]
build a list of data fields to be inserted (whatever method)
>
> def escapeAndQuote(x):
> return "\"%s\"" % MySQLdb.escape_string(x)
not at the right machine to read up on this but obviously it cleans up
the strings and inserts the quotes around each field.
>
> values = ", ".join([escapeAndQuote(f[:-2]) for f in fields])
crap. I knew about .join. that was really the part I was missing.
> q = "insert into daily values(%s)" % values
>
make the query statement.
>
> In testing I got:
>
> >>> fields = ["field1\r\n","field2\r\n","field3\r\n"]
> >>> values = ", ".join([escapeAndQuote(f[:-2]) for f in fields])
> >>> values
> '"field1", "field2", "field3"'
> >>> q = "insert into daily values(%s)" % values
> 'insert into daily values("field1", "field2", "field3")'
>
cool! thanks Todd.
A
>
>
> Todd
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20061219/090005a3/attachment.sig>
More information about the Python-list
mailing list