Error in reading and writing CSV format file in python
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Mon Feb 11 07:26:42 EST 2013
inshu chauhan wrote:
> In the programme below I am trying to read two csv format files and
> process them and write a new file with some of theirs data.
>
> import csv
> f1_reader = csv.reader(open(r"Z:\Weka
> work\Feature_Vectors_Fullset_00.arff"))
> f2_reader = csv.reader(open(r"Z:\Weka
> work\Feature_Vectors_Fullset_00_noxy+class.arff"))
> nf = open(r"Z:\Weka work\classified_image00_withoutxy.arff", "w")
>
> while True:
> l1 = f1_reader.next()
> while len(l1) != 12:
> l1 = f1_reader.next()
> l2 = f2_reader.next()
> while len(l2) != 11:
> l2 = f2_reader.next()
>
> ix = l1[0].strip()
> iy = l1[1].strip()
> classification = l2[8].strip()
>
> print >> nf, ix, iy, classification
>
> nf.close()
>
> This programme is giving me this error now :
>
> Traceback (most recent call last):
> File "Z:\Weka work\final_image_classificationwithoutxy.py", line 16, in
> <module>
> l2 = f2_reader.next()
> StopIteration
>
>
> what could be a possible reason to StopIteration ???
next() raises StopIteration when there is nothing else to return.
py> it = iter([1, 2, 3])
py> it.next()
1
py> it.next()
2
py> it.next()
3
py> it.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
You have reached the end of the file and there is nothing else for the CSV
reader to return, so it raises StopIteration.
--
Steven
More information about the Python-list
mailing list