[Tutor] CSV file processing...

Kent Johnson kent37 at tds.net
Mon Mar 24 16:27:37 CET 2008


Spencer Parker wrote:
> I am at a loss as to why this isn't working properly:
> 
> #!/usr/bin/python
> 
> import MySQLdb
> import csv
> import sys
> 
> try:
>     db = MySQLdb.connect (host = "localhost",user = "root",passwd = 
> "########",db = "stats")
> except MySQLdb.Error, e:
>     print "Error %d: %s" % (e.args[0], e.args[1])
>     sys.exit (1)
> 
> co = db.cursor()
> csv_data = csv.reader(file('output.txt','r'))
> headers = csv_data.next()
> row = csv_data.next()
> prefix = row[:17]
> for i in range(17, len(row),8):
>     next = prefix + row[i:i+8]
>     print next
> co.execute("""
>     INSERT INTO stats(Hostname, Time, Arch, PhysicalCPU, Count, Running, 
> Blocked, Paused, Shutdown, Shutoff, Crashed, Active, Inactive, PCPU, 
> TotalMemory, Totalguestmemory, TotalCPUtime, DomainID, Domainname, 
> CPUTime, PGCPU, RDRQ, WRRQ, RXBY, TXBY)
>     
> VALUES("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s");
>     """, row)

You want 'next', not 'row'

Kent

> co.close()
> db.commit()
> db.close()
> 
> It pulls all of the data correctly and it is the correct of items that 
> it is grabbing.  I get this traceback:
> 
> Traceback (most recent call last):
>   File "./loadcsv.py", line 21, in ?
>     co.execute("""
>   File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 
> 148, in execute
>     query = query % db.literal(args)
> TypeError: not all arguments converted during string formatting
> 
> If I have it print out the next variable...the data is correct that it 
> is pulling out...
> 
> ['test.test.net <http://test.test.net>', '15:33:59', 'x86_64', '8', '9', 
> '1', '4', '0', '0', '0', '0', '5', '4', '0.0', '12495360', '818688', 
> '0', '1', 'beta', '0.', '0.', '', '', '', '']
> 
> Maybe fresh eyes could pull out my mistake?
> 
> Thanks again for everything!
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list