Robert Rawlins - Think Blue wrote: > Thanks for that Tim, > > I could use a little more help with this CSV stuff this afternoon and I > can't get it to write the output I want for the life of me. I'm trying to > write a method for my logging class that receives a string as an argument, > and then writes a row to the CSV with the string and a date/time stamp. > > ''' Add Application Log Entry ''' > def addApp(self, event): > writer = csv.writer(open("some.csv", "a")) > writer.writerow(event) > > Now if I do something like this; addApp('Application Started') then it > writes to the CSV file somthing like. > > A,p,p,l,i,c,a,t,i,o,n, ,S,t,a,r,t,e,d > > Which isn't much use to me :-D any ideas how I can get something like this: > > 2007-01-01,13:00:00,Application Started
The writer.writerow method expects an iterable of some sort. Usually you give it a list or a tuple (perhaps of length one). You've given it a string, which it can happily iterate over. Try: for c in "Application Started": print c If you just want to print the string, pass it in as the only element of a list or tuple: writer.writerow ([event]) If you want to add a timestamp or whatever, then make a list/tuple of both. (Tries to avoid restarting The Great Tuple War (tm)): import datetime . . . now = datetime.datetime.now () writer.writerow ([event, str (now)]) TJG -- http://mail.python.org/mailman/listinfo/python-list