Hi! This code is working fine! The only one little thing is that the 6 columns appear together in one column, what means, in eac cell I get 6 numbers. How can I get tit in 6 excel columns? Many thanks, Susana
Subject: Re: [Tutor] get columns from txt file From: dfjenni...@gmail.com Date: Thu, 12 Jul 2012 11:43:02 -0400 CC: tutor@python.org To: susana...@hotmail.com On Jul 12, 2012, at 11:10 AM, susana moreno colomer wrote: Hi! It is attached on the email, called myprogram.txt and, here are the contents of that file: #! /usr/bin/env python import os import fnmatch import csv path = '//../my_working_folder/' csv_out=csv.writer(open('out14.csv', 'wb'), delimiter=' ') files=os.listdir(path) outfile=open('myfile1', 'w') Here you've opened a file called "outfile" which you never use! So, of course it's blank. Just remove this line. output=[] for infile in files: columnData = [] if fnmatch.fnmatch(infile, 'bb_*'): filename= os.path.join(path,infile) f=open(filename, 'r') for line in f: b=line.split('\t') # remove the next line output.append(b[5].strip()) # instead, append to columnData list columnData.append(b[5].strip()) f.close() # now append all of that data as a list to the output output.append(columnData) # now, as Kent said, create "a list of row lists from the list of column lists # if any of the column lists are too short they will be padded with None" rows = map(None, *output) # now, write those rows to your file csv_out.writerows(rows) ########This gives me a single column (I want 6, since I have 6 bb_files: csv_out.writerows(output) One of the things you missed in Kent's code is that the output is a list of lists. So, for each file you need a list which you then append to the output list. I've inserted the appropriate code above and you should have better luck if you copy and paste carefully. ########with this I get excel whitesheet def csvwriter(): excelfile=csv_out a=excelfile.append(output) c=excelfile.write(a) return c Right! As I explained in an earlier email, you never call the function csvwriter; you merely define it. The file is created when you opened it earlier for writing on line 10 of your program, but you never write anything to it. If you have the time and inclination, I recommend you work through one of the fine tutorials for python. It really is a great language and this is a **great** community of folks for people like me who are learning the language still. Take care, Don
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor