On 01/28/2013 08:31 AM, inshu chauhan wrote:
In the code below I am trying to read 2 files f1 and f2 , extract some data
from them and then trying to write them into a single file that is 'nf'.
import cv
f1 = open(r"Z:\modules\Feature_Vectors_300.arff")
f2 = open(r"Z:\modules\Feature_Vectors_300_Pclass.arff")
nf = open(r"Z:\modules\trial.arff", "w")
for l in f1:
sp = l.split(",")
if len(sp)!= 12:
continue
else:
ix = sp[0].strip()
iy = sp[1].strip()
print ix, iy
for s in f2:
st = s.split(",")
if len(st)!= 11:
continue
else:
clas = st[10].strip()
print ix, iy, clas
print >> nf, ix, iy, clas
f1.close()
f2.close()
nf.close()
I think my code is not so correct , as I am not getting desired results and
logically it follows also but I am stuck , cannot find a way around this
simple problem of writing to a same file.. Please suggest some good
pythonic way I can do it..
Thanks in Advance
The other questions are useful, but I'll make a guess based on what
you've said so far.
You're trying to read the same file f2 multiple times, as you loop
around the f1 file. But you just keep the file open and try to iterate
over it multiple times. You either need to close and open it each time,
or do a seek to beginning, or you'll not see any data for the second and
later iteration.
Or better, just read file f2 into a list, and iterate over that, which
you can do as many times as you like. (Naturally this assumes it's not
over a couple of hundred meg).
file2 = open(r"Z:\modules\Feature_Vectors_300_Pclass.arff")
f2 = file2.readlines()
file2.close()
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list