8000 Merge pull request #4968 from WarrenWeckesser/bug-genfromtxt · numpy/numpy@4125912 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4125912

Browse files
committed
Merge pull request #4968 from WarrenWeckesser/bug-genfromtxt
BUG: io: genfromtxt did not handle filling_values=0 correctly. Closes gh-2317.
2 parents 50a1dfa + 9c76897 commit 4125912

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

numpy/lib/npyio.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1518,7 +1518,9 @@ def genfromtxt(fname, dtype=float, comments='#', delimiter=None,
15181518

15191519
# Process the filling_values ...............................
15201520
# Rename the input for convenience
1521-
user_filling_values = filling_values or []
1521+
user_filling_values = filling_values
1522+
if user_filling_values is None:
1523+
user_filling_values = []
15221524
# Define the default
15231525
filling_values = [None] * nbcols
15241526
# We have a dictionary : update each entry individually

numpy/lib/tests/test_io.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,6 +1300,16 @@ def test_user_filling_values(self):
13001300
ctrl = np.array([(0, 3), (4, -999)], dtype=[(_, int) for _ in "ac"])
13011301
assert_equal(test, ctrl)
13021302

1303+
data2 = "1,2,*,4\n5,*,7,8\n"
1304+
test = np.genfromtxt(TextIO(data2), delimiter=',', dtype=int,
1305+
missing_values="*", filling_values=0)
1306+
ctrl = np.array([[1, 2, 0, 4], [5, 0, 7, 8]])
1307+
assert_equal(test, ctrl)
1308+
test = np.genfromtxt(TextIO(data2), delimiter=',', dtype=int,
1309+
missing_values="*", filling_values=-1)
1310+
ctrl = np.array([[1, 2, -1, 4], [5, -1, 7, 8]])
1311+
assert_equal(test, ctrl)
1312+
13031313
def test_withmissing_float(self):
13041314
data = TextIO('A,B\n0,1.5\n2,-999.00')
13051315
test = np.mafromtxt(data, dtype=None, delimiter=',',

0 commit comments

Comments
 (0)
0