t_rectenwald schrieb: > Hello, > > I attempting to execute an Oracle query, and write the results to a > file in CSV format. To do so, I've done the following: > > import cx_Oracle > db = cx_Oracle.connect('user/[EMAIL PROTECTED]') > cursor = db.cursor() > cursor.arraysize = 500 > cursor.execute(sql) > result = cursor.fetchall() > > The above works great. I'm able to connect to the database and print > out the results as a list of tuples. Here is where I get lost. How > do I work with a "list of tuples?" My understanding is that a "list" > is basically an array (I don't come from a Python background). Tuples > are a "collection of objects." So, if I do... > > print result[0] > > I get the first row of the query, which would make sense. The problem > is that I cannot seem to write tuples to a file. I then do this... > > csvFile = open("output.csv", "w") > csvFile = write(result[0]) > csvFile.close > > This generates an exception: > > TypeError: argument 1 must be string or read-only character buffer, > not tuple > > So, I'm a bit confused as to the best way to do this. I guess I could > try to convert the tuples into strings, but am not sure if that is the > proper way to go. Any help would be appreciated. I've also seen a > csv module out there, but am not sure if that is needed in this > situation. > > Best Regards, > Tom
Hi, have a look at the csv Module: http://docs.python.org/lib/csv-examples.html Just iterate over your result. # Untested import csv writer = csv.writer(open("some.csv", "wb")) for row in result: row = map(str,row) writer.writerows(row) writer.close() Ralf Schoenian -- http://mail.python.org/mailman/listinfo/python-list