Hi,
I'm hoping for some help on a python script I need to query an api. I'm not a
(Python) programmer ordinarily, but do plan to improve!
Specifically I have a for loop evaluating a database row, which I think I can
treat as a list. My [4] is a postgres boolean field, and I'm temporarily stuck
on how to evaluate this to determine if I use the values in [1].
Could I have some advice on what to change? Also do let me know if you can
recommend a good beginners python book.
Data example:
[13, 'Barbican Station', 'Barbican Station, London Underground Ltd., Aldersgate
St, London, EC1A 4JA',
'01010000E0E61000008851AB9E9803B9BF5BB6972294C2494000000000000000000000000000000000',
True]
Code:
#!/usr/bin/python
import psycopg2
#note that we have to import the Psycopg2 extras library!
import psycopg2.extras
import sys
def main():
conn_string = "host='localhost' dbname='gisdb' user='postgres'
password='#########'"
# print the connection string we will use to connect
print "Connecting to database\n ->%s" % (conn_string)
conn = psycopg2.connect(conn_string)
# HERE IS THE IMPORTANT PART, by specifying a name for the cursor
# psycopg2 creates a server-side cursor, which prevents all of the
# records from being downloaded at once from the server.
cursor = conn.cursor('cursor_tube',
cursor_factory=psycopg2.extras.DictCursor)
cursor.execute('SELECT * FROM tubestations LIMIT 1000')
# Because cursor objects are iterable we can just call 'for - in' on
# the cursor object and the cursor will automatically advance itself
# each iteration.
# This loop should run 1000 times, assuming there are at least 1000
# records in 'my_table'
row_count = 0
for row in cursor:
row_count += 1
if row[4] = True
print row[1]
#print "row: %s %s\n" % (row_count, row)
if __name__ == "__main__":
main()
Thanks!
Andy
--
http://mail.python.org/mailman/listinfo/python-list