First of all, welcome to [EMAIL PROTECTED]
I've done a little modification on Kent's code to make it more sensible. Please try it.
Assuming the data file is 'mydata' $cat mydata 1 1 2 3 23 0.1 13 2 3 4 24 0.15 24 1 1 2 12 0.2 45 2 3 5 1 0.12 116 6 2 7 27 0.18 211 9 4 6 28 0.45
My python code:
#!/usr/bin/python
#Filename: selectcolumn.py
import sys
datafile='mydata' #Your datafile
columns=[1,2,3,5] #Columns which you'd like to print
try:
f=open(datafile)
except IOError:
print "Can't open data file."
sys.exit()
for line in list(f):
data=line.split()
try:
data=[data[i] for i in columns]
except IndexError:
print 'Column index out of range.'
f.close()
sys.exit()
print '\t'.join(data)
f.close()
Maarten wrote:
Hello tutors,
As i'm new to this mailing list so i shall introduce myself. My name is Maarten and except for some shell scripting I have little practical experience in programming (I'm a Linux/Solaris sys-admin). I've doing (mostly) reading about Python. But now trying, despite of my lack of talent for programming, to do write some stuff in Python (i don't call them programs yet;).
So maybe a bit bold for a newbie to start posting a correction but i wanted the code to work:
Kent Johnson wrote: <snip>
columns = [1,3,4] # Column numbers to show, 0-based
f = open('mydata.txt')
for line in f:
data = line.split() # Assuming your data is tab- or space-delimited
data = [ item for i, item in data if i in columns ] # Filter out unwanted columns
print data # Output one row of text - put your formatting here
There are probably more efficient ways to extract the data but this should get you started.
guess Kent forgot one line after:
data = line.split()
adding next line after it:
data = enumerate(data)
makes it work for me.
Assuming: $ cat mydata.txt 1 1 2 3 23 0.1 13 2 3 4 24 0.15 24 1 1 2 12 0.2 45 2 3 5 1 0.12 116 6 2 7 27 0.18 211 9 4 6 28 0.45
Please correct my correction if i'm wrong.
Still got a question. This notation/syntax of the list:
[ item for i, item in data if i in columns ]
is quite new for me. Can someone point me to more examples of this use Or give me the name of it (it must have a name) so i can google it?
thx Maarten
_______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor
_______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor