Re: MySQLdb, lots of columns and newb-ness
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:
import MySQLdb
fields = ["field1\r\n","field2\r\n","field3\r\n"]
def escapeAndQuote(x):
return "\"%s\"" % MySQLdb.escape_string(x)
values = ", ".join([escapeAndQuote(f[:-2]) for f in fields])
q = "insert into daily values(%s)" % values
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")'
Todd
--
http://mail.python.org/mailman/listinfo/python-list
Re: list1.append(list2) returns None
Pyenos wrote: > def enlargetable(table,col): > return table.append(col) > > def removecolfromtable(table,col): > return table.remove(col) > > print enlargetable([[1],[2],[3]],[4]) # returns None > > Why does it return None instead of [[1],[2],[3],[4]] which I expected? append modifies the list and then returns None: >>> print a [1, 2, 3] >>> print a.append(4) None >>> print a [1, 2, 3, 4] The reasoning given at http://www.python.org/doc/faq/general.html#why-doesn-t-list-sort-return-the-sorted-list is so you wont do something like this: a = [1,2,3] b = a.append(4) and assume that a is still [1,2,3] More discussion on this topic is available at http://groups.google.com/group/comp.lang.python/browse_thread/thread/8ab2e67550123b92 Todd -- http://mail.python.org/mailman/listinfo/python-list
