Skip to content

Commit a01e1a1

Browse files
committed
BUG: Fix ParserWarning not raised when on_bad_lines used with index_col (pandas-dev#61882)
1 parent 0044841 commit a01e1a1

File tree

29,990 files changed

+8285528
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

29,990 files changed

+8285528
-3
lines changed

bad_lines.csv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name,age
2+
Alice,30
3+
Bob,not_a_number
4+
Charlie,40,extra_column

n_bad_lines-parserwarning

Lines changed: 324 additions & 0 deletions
Large diffs are not rendered by default.

pandas/io/parsers/readers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,7 @@ def _validate_names(names: Sequence[Hashable] | None) -> None:
670670

671671
def _read(filepath_or_buffer, kwds):
672672
import warnings
673+
673674
from pandas.errors import ParserWarning
674675

675676
iterator = kwds.get("iterator", False)
@@ -718,8 +719,7 @@ def _read(filepath_or_buffer, kwds):
718719
return parser
719720

720721
with parser:
721-
return parser.read(nrows) # <== ⚠ THIS LINE must be INSIDE the function!
722-
722+
return parser.read(nrows)
723723

724724

725725
@overload

pandas/tests/io/parser/test_read_csv_warn.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import pandas as pd
22

3+
34
def my_bad_line_handler(bad_line):
45
print("Bad line encountered:", bad_line)
5-
return None
6+
67

78
df = pd.read_csv(
89
"test.csv", # make sure this file exists in same folder or adjust the path

0 commit comments

Comments
 (0)