[Tutor] CSV file processing...
Spencer Parker
inthefridge at gmail.com
Fri Mar 21 21:37:26 CET 2008
Okay...so this is what I have now..
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ vim output.txt
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim output.txt
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near ')' at line 1")
[sjpark at pxe ~]$ vim output.txt
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near ')' at line 1")
[sjpark at pxe ~]$ vim output.txt
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 22, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
File "./loadcsv.py", line 30
co.close()
^
SyntaxError: invalid syntax
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute('''
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near '' at line 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near '' at line 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near '' at line 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 148, in
execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
[sjpark at pxe ~]$ python
Python 2.4.3 (#1, Mar 14 2007, 19:01:42)
[GCC 4.1.1 20070105 (Red Hat 4.1.1-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 17 +8
25
>>>
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ python
Python 2.4.3 (#1, Mar 14 2007, 19:01:42)
[GCC 4.1.1 20070105 (Red Hat 4.1.1-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute("""
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute('''
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute('''
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute('''
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ ./loadcsv.py
Traceback (most recent call last):
File "./loadcsv.py", line 25, in ?
co.execute('''
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
[sjpark at pxe ~]$ vim loadcsv.py
[sjpark at pxe ~]$ vim loadcsv.py
#!/usr/bin/python
import MySQLdb
import csv
import sys
try:
db = MySQLdb.connect (host = "localhost",user = "root",passwd =
"Ch33s3Monk3y",db = "xenstats")
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]
co.execute('''
INSERT INTO stats
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''')
co.close()
db.commit()
db.close()
Now I get this error:
File "./loadcsv.py", line 25, in ?
co.execute('''
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line 35,
in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value
count at row 1")
I have a database that has 26 columns in it...MySQL...my data should only be
25. I have one that auto increments a unique ID for.
On Fri, Mar 21, 2008 at 1:58 PM, Marc Tompkins <marc.tompkins at gmail.com>
wrote:
> Sorry... no, it still shouldn't work...
> maybe like so:
>
> co.execute('''INSERT INTO stats
> 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 have triple quotes around your SQL. That means that "implied" line
> > breaks become real. It won't look as nice, but take the line breaks out and
> > I think it ought to work.
> >
> > Just my $.02...
> >
> > --
> > www.fsrtechnologies.com
>
>
>
>
> --
> www.fsrtechnologies.com
--
Spencer Parker
_______________________________________________________
"if you can't go to heaven, may you at least die in Ireland."
_______________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20080321/0901c26a/attachment-0001.htm
More information about the Tutor
mailing list