Skip to content

Commit 19e0d01

Browse files
author
Chang She
committed
ENH: error message with malformed CSV file #1105
1 parent 0754624 commit 19e0d01

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

pandas/io/parsers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -710,8 +710,9 @@ def get_chunk(self, rows=None):
710710
# % (idx_str, self.index_col, str(dups)))
711711
# raise Exception(err_msg)
712712

713-
if len(self.columns) != len(zipped_content):
714-
raise Exception('wrong number of columns')
713+
col_len, zip_len = len(self.columns), len(zipped_content)
714+
if col_len != zip_len:
715+
raise Exception('Expecting %d columns, got %d' % (col_len, zip_len))
715716

716717
data = dict((k, v) for k, v in izip(self.columns, zipped_content))
717718

pandas/io/tests/test_parsers.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,13 @@ def test_comment_fwf(self):
9292
comment='#')
9393
assert_almost_equal(df.values, expected)
9494

95+
def test_malformed(self):
96+
data = """A,B,C
97+
1,2,3,4,5
98+
"""
99+
self.assertRaises(Exception, 'read_table', StringIO(data),
100+
names=['A','B','C'], index_col=0)
101+
95102
def test_custom_na_values(self):
96103
data = """A,B,C
97104
ignore,this,row

0 commit comments

Comments
 (0)