
On Mon, May 24, 2010 at 4:14 PM, Maria Liukis <liukis@usc.edu> wrote:
Hello everybody,
I'm using numpy V1.3.0 and ran into a case when numpy.loadtxt('foo.txt') raised an exception:
import numpy as np np.loadtxt('foo.txt') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/lib/io.py", line 456, in loadtxt raise IOError('End-of-file reached before encountering data.') IOError: End-of-file reached before encountering data.
if provided file 'foo.txt' is empty.
Would anybody happen to know if it's a feature or a bug? I would expect it to return an empty array.
Looking at the source for loadtxt line 591 # Read until we find a line with some values, and use # it to estimate the number of columns, N. first_vals = None while not first_vals: first_line = fh.readline() if first_line == '': # EOF reached raise IOError('End-of-file reached before encountering data.') So it looks like it is not a bug although I am not sure why returning an empty array would not be valid. But then what are you going to do with the empty array? Vincent
numpy.fromfile() handles empty text files:
np.fromfile('foo.txt', sep='\t\n ') array([], dtype=float64)
Would anybody suggest a graceful way of handling empty files with numpy.loadtxt() (except for catching an IOError exception)?
Many thanks, Masha -------------------- liukis@usc.edu
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
*Vincent Davis 720-301-3003 * vincent@vincentdavis.net my blog <http://vincentdavis.net> | LinkedIn<http://www.linkedin.com/in/vincentdavis>