ENH: Add arrow engine to to_csv
- [ ] closes #53618 (Replace xxxx with the GitHub issue number)
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

OK, this is down to 34 failing tests now (out of 87).

I think I'll xfail all the failing tests and get this merge-ready for now soonish.

Most of the things failing are just subtle differences in the way Pyarrow/Python CSV engine write things.
(One particularly annoying thing is that pyarrow quotes strings even if the quotes are technically not needed. It doesn't affect roundtripping I don't think, but it makes a bunch of the tests fail). pre-commit ci fix pre-commit.ci autofix I don't think https://github.com/pandas-dev/pandas/pull/54171/files#r1267066476 was addressed otherwise looks good Just a merge conflict otherwise looks good ```
   /home/runner/work/pandas/pandas/pandas/io/formats/csvs.py:320:17 - error: Argument of type "IO[AnyStr@_save]" cannot be assigned to parameter "csvfile" of type "SupportsWrite[str]" in function "writer"
    "IO[AnyStr@_save]" is incompatible with protocol "SupportsWrite[str]"
      "write" is an incompatible type
        Type "(__s: AnyStr@_save, /) -> int" cannot be assigned to type "(__s: _T_contra@SupportsWrite, /) -> object"
          Parameter 1: type "_T_contra@SupportsWrite" cannot be assigned to type "AnyStr@_save"
            Type "str" cannot be assigned to type "AnyStr@_save" (reportGeneralTypeIssues)
``` This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this. Since this feature has not been updated for a long time, I am wondering if it is still being worked on. I think there is just a typing error left that I haven't resolved, I'll add an ignore if it's still there. Looks like this PR has gotten stale so closing for now. Feel free to reopen when you have time to circle back