Skip to content

Commit fce7760

Browse files
authored
BUG read_csv(quotechar=, engine='pyarrow') (#56352)
1 parent 025a239 commit fce7760

File tree

3 files changed

+2
-1
lines changed

3 files changed

+2
-1
lines changed

doc/source/whatsnew/v2.2.0.rst

+1
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,7 @@ I/O
598598
- Bug in :func:`read_csv` where ``engine="python"`` did not respect ``chunksize`` arg when ``skiprows`` was specified. (:issue:`56323`)
599599
- Bug in :func:`read_csv` where ``engine="python"`` was causing a ``TypeError`` when a callable ``skiprows`` and a chunk size was specified. (:issue:`55677`)
600600
- Bug in :func:`read_csv` where ``on_bad_lines="warn"`` would write to ``stderr`` instead of raise a Python warning. This now yields a :class:`.errors.ParserWarning` (:issue:`54296`)
601+
- Bug in :func:`read_csv` with ``engine="pyarrow"`` where ``quotechar`` was ignored (:issue:`52266`)
601602
- Bug in :func:`read_csv` with ``engine="pyarrow"`` where ``usecols`` wasn't working with a csv with no headers (:issue:`54459`)
602603
- Bug in :func:`read_excel`, with ``engine="xlrd"`` (``xls`` files) erroring when file contains NaNs/Infs (:issue:`54564`)
603604
- Bug in :func:`read_json` not handling dtype conversion properly if ``infer_string`` is set (:issue:`56195`)

pandas/io/parsers/arrow_parser_wrapper.py

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ def _get_pyarrow_options(self) -> None:
6565
"escapechar": "escape_char",
6666
"skip_blank_lines": "ignore_empty_lines",
6767
"decimal": "decimal_point",
68+
"quotechar": "quote_char",
6869
}
6970
for pandas_name, pyarrow_name in mapping.items():
7071
if pandas_name in self.kwds and self.kwds.get(pandas_name) is not None:

pandas/tests/io/parser/test_quoting.py

-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ def test_quote_char_basic(all_parsers):
6666
tm.assert_frame_equal(result, expected)
6767

6868

69-
@xfail_pyarrow # ValueError: The 'quoting' option is not supported
7069
@pytest.mark.parametrize("quote_char", ["~", "*", "%", "$", "@", "P"])
7170
def test_quote_char_various(all_parsers, quote_char):
7271
parser = all_parsers

0 commit comments

Comments
 (0)