[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