Hi All
I have started a little pet project to learn python and MySQL. The
project involves figuring out all the combinations for a 5 number
lottery and storing the data in a MySQL file.
The file looks like this;
+----------+---------------------+------+-----+---------
+----------------+
| Field | Type | Null | Key | Default |
Extra |
+----------+---------------------+------+-----+---------
+----------------+
| lottryid | int(11) | NO | PRI | NULL |
auto_increment |
| lottryno | char(10) | YES | | NULL
| |
| no1 | tinyint(3) unsigned | NO | | NULL
| |
| no2 | tinyint(3) unsigned | NO | | NULL
| |
| no3 | tinyint(3) unsigned | NO | | NULL
| |
| no4 | tinyint(3) unsigned | NO | | NULL
| |
| no5 | tinyint(3) unsigned | NO | | NULL
| |
| nosum | tinyint(3) unsigned | NO | | NULL
| |
| nohits | int(10) unsigned | YES | | NULL
| |
+----------+---------------------+------+-----+---------
+----------------+
The code looks as follows;
#!/usr/lib/env python
import MySQLdb
import datetime
db = MySQLdb.Connect ion(host="local host", user="lenyel",
passwd="lsumnle r", \
db="lottery")
cursor = db.cursor()
cursor.execute( 'delete from littlelottery')
listofrec = []
tupcnt = 0
print "first tuple created"
for a in xrange(1,36):
for b in xrange(2,37):
for c in xrange(3,38):
for d in xrange(4,39):
for e in xrange(5,40):
tupcnt += 1
thekey = ('%02i%02i%02i% 02i%02i' % (a,b,c,d,e))
mysum = a + b + c + d + e
rectuple = tupcnt, thekey, a, b, c, d, e, mysum, 0
listofrec.appen d(rectuple)
if tupcnt % 10000 == 0:
print "beginnign of mysql write"
print datetime.dateti me.now().time()
cursor.executem any('''insert into
littlelottery
values (?,?,?,?,?,?,?, ?,?)''', listofrec)
db.close()
print "end of mysql write"
print datetime.dateti me.now().time()
os._exit()
print "insert into mysql completed"
i get the following error on insert;
raise errorclass, errorvalue
TypeError: not all arguments converted during string formatting
Script terminated.
Do I have to covert all of the fields in the tuple records to string
or what?
Len Sumnler
I have started a little pet project to learn python and MySQL. The
project involves figuring out all the combinations for a 5 number
lottery and storing the data in a MySQL file.
The file looks like this;
+----------+---------------------+------+-----+---------
+----------------+
| Field | Type | Null | Key | Default |
Extra |
+----------+---------------------+------+-----+---------
+----------------+
| lottryid | int(11) | NO | PRI | NULL |
auto_increment |
| lottryno | char(10) | YES | | NULL
| |
| no1 | tinyint(3) unsigned | NO | | NULL
| |
| no2 | tinyint(3) unsigned | NO | | NULL
| |
| no3 | tinyint(3) unsigned | NO | | NULL
| |
| no4 | tinyint(3) unsigned | NO | | NULL
| |
| no5 | tinyint(3) unsigned | NO | | NULL
| |
| nosum | tinyint(3) unsigned | NO | | NULL
| |
| nohits | int(10) unsigned | YES | | NULL
| |
+----------+---------------------+------+-----+---------
+----------------+
The code looks as follows;
#!/usr/lib/env python
import MySQLdb
import datetime
db = MySQLdb.Connect ion(host="local host", user="lenyel",
passwd="lsumnle r", \
db="lottery")
cursor = db.cursor()
cursor.execute( 'delete from littlelottery')
listofrec = []
tupcnt = 0
print "first tuple created"
for a in xrange(1,36):
for b in xrange(2,37):
for c in xrange(3,38):
for d in xrange(4,39):
for e in xrange(5,40):
tupcnt += 1
thekey = ('%02i%02i%02i% 02i%02i' % (a,b,c,d,e))
mysum = a + b + c + d + e
rectuple = tupcnt, thekey, a, b, c, d, e, mysum, 0
listofrec.appen d(rectuple)
if tupcnt % 10000 == 0:
print "beginnign of mysql write"
print datetime.dateti me.now().time()
cursor.executem any('''insert into
littlelottery
values (?,?,?,?,?,?,?, ?,?)''', listofrec)
db.close()
print "end of mysql write"
print datetime.dateti me.now().time()
os._exit()
print "insert into mysql completed"
i get the following error on insert;
raise errorclass, errorvalue
TypeError: not all arguments converted during string formatting
Script terminated.
Do I have to covert all of the fields in the tuple records to string
or what?
Len Sumnler
Comment