You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem or challenge?
Currently, Datafusion doesn't appear to support reading CSV files that use a non-UTF-8 encoding scheme, such as the common ISO-8859-1 or others.
While CSV may be a terrible data format, it's also ubiquitous in the wild and many of them use alternative character encodings. It would be useful if there was an option to read CSV files that use an encoding other than UTF-8.
Describe the solution you'd like
Add an option to CsvOptions or elsewhere to specify the encoding used by the input file, defaulting to UTF-8. Datafusion could then use encoding_rs internally to decode chunks of incoming data.
Describe alternatives you've considered
An alternative to depending on encoding_rs directly would be to expose an option that allowed users to provide their own decoding logic, which they would then likely delegate to encoding_rs. This might be desirable if the added dependency is deemed to heavy (though it could easily be put behind a feature flag).
I have closed my PR in arrow-csv based on feedback from reviewers, as they would prefer that consumes of library perform their own decoding rather than extending its API. I will open a PR for this one soon.
Activity
Rafferty97 commentedon Feb 22, 2026
I have made a start on this work here: https://github.com/Rafferty97/datafusion/tree/non-utf8-csv
I'm not sure about my approach to feature flagging, or how to best add unit tests.
Rafferty97 commentedon Feb 23, 2026
On second thought, I suspect this might be better implemented in
arrow-csvitself, so I'm going to experiment with that option now.Rafferty97 commentedon Feb 24, 2026
I have opened a PR to incorporate this functionality into
arrow-csv: apache/arrow-rs#9468Rafferty97 commentedon Mar 1, 2026
I have closed my PR in
arrow-csvbased on feedback from reviewers, as they would prefer that consumes of library perform their own decoding rather than extending its API. I will open a PR for this one soon.Rafferty97 commentedon Mar 1, 2026
take
ci: permit stale workflow to delete cache (apache#21772)