[Numpy-discussion] loadtxt raises an exception on empty file

Vincent Davis vincent at vincentdavis.net
Tue May 25 00:49:48 EDT 2010


On Mon, May 24, 2010 at 4:14 PM, Maria Liukis <liukis at 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 at usc.edu
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>

  *Vincent Davis
720-301-3003 *
vincent at vincentdavis.net
 my blog <http://vincentdavis.net> |
LinkedIn<http://www.linkedin.com/in/vincentdavis>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20100524/b0fa437a/attachment.html>


More information about the NumPy-Discussion mailing list