summaryrefslogtreecommitdiff
path: root/numpy/lib/tests/test_io.py
diff options
context:
space:
mode:
authorpierregm <pierregm@localhost>2010-09-13 23:54:54 +0000
committerpierregm <pierregm@localhost>2010-09-13 23:54:54 +0000
commitc970251eba07c97f6a1ecc9ce62ee1f0d2beec16 (patch)
tree98dcd04d6aa96d53946822d69ec4155f39f928eb /numpy/lib/tests/test_io.py
parent96afea0b32c77fa60112a1a78d66af77912e2523 (diff)
downloadnumpy-c970251eba07c97f6a1ecc9ce62ee1f0d2beec16.tar.gz
* fixed the behavior of {{{skip_footer}}} in {{{genfromtxt}}} when some invalid lines are present (bug #1593)
Diffstat (limited to 'numpy/lib/tests/test_io.py')
-rw-r--r--numpy/lib/tests/test_io.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py
index 25fa6faf4..c1a19f5a4 100644
--- a/numpy/lib/tests/test_io.py
+++ b/numpy/lib/tests/test_io.py
@@ -539,10 +539,33 @@ class TestFromTxt(TestCase):
data[-1] = "99,99"
kwargs = dict(delimiter=",", names=True, skip_header=5, skip_footer=10)
test = np.genfromtxt(StringIO(asbytes("\n".join(data))), **kwargs)
- ctrl = np.array([("%f" % i, "%f" % i, "%f" % i) for i in range(40)],
+ ctrl = np.array([("%f" % i, "%f" % i, "%f" % i) for i in range(41)],
dtype=[(_, float) for _ in "ABC"])
assert_equal(test, ctrl)
+ def test_skip_footer_with_invalid(self):
+ import warnings
+ basestr = '1 1\n2 2\n3 3\n4 4\n5 \n6 \n7 \n'
+ warnings.filterwarnings("ignore")
+ # Footer too small to get rid of all invalid values
+ assert_raises(ValueError, np.genfromtxt,
+ StringIO(basestr), skip_footer=1)
+# except ValueError:
+# pass
+ a = np.genfromtxt(StringIO(basestr), skip_footer=1, invalid_raise=False)
+ assert_equal(a, np.array([[1., 1.], [2., 2.], [3., 3.], [4., 4.]]))
+ #
+ a = np.genfromtxt(StringIO(basestr), skip_footer=3)
+ assert_equal(a, np.array([[1., 1.], [2., 2.], [3., 3.], [4., 4.]]))
+ #
+ basestr = '1 1\n2 \n3 3\n4 4\n5 \n6 6\n7 7\n'
+ a = np.genfromtxt(StringIO(basestr), skip_footer=1, invalid_raise=False)
+ assert_equal(a, np.array([[1., 1.], [3., 3.], [4., 4.], [6., 6.]]))
+ a = np.genfromtxt(StringIO(basestr), skip_footer=3, invalid_raise=False)
+ assert_equal(a, np.array([[1., 1.], [3., 3.], [4., 4.]]))
+ warnings.resetwarnings()
+
+
def test_header(self):
"Test retrieving a header"
data = StringIO('gender age weight\nM 64.0 75.0\nF 25.0 60.0')