You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Jonathan Keane (Jira)" <ji...@apache.org> on 2021/12/08 20:49:00 UTC

[jira] [Resolved] (ARROW-14644) [C++] open_dataset doesn't ignore BOM in csv file

     [ https://issues.apache.org/jira/browse/ARROW-14644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Keane resolved ARROW-14644.
------------------------------------
    Fix Version/s: 7.0.0
       Resolution: Fixed

Issue resolved by pull request 11892
[https://github.com/apache/arrow/pull/11892]

> [C++] open_dataset doesn't ignore BOM in csv file
> -------------------------------------------------
>
>                 Key: ARROW-14644
>                 URL: https://issues.apache.org/jira/browse/ARROW-14644
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 6.0.0
>         Environment: macOS Mojave, R 4.1.1
>            Reporter: Andy Teucher
>            Assignee: Will Jones
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 7.0.0
>
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> DragosMG: I believe this is a bug that should be fixed in the C++ code as there isn't an option we could leverage on the R side.
> I have draft PR with a failing test, but it's identical to Andy's _reproducible example_ below.
> Original description below:
> ======================
> When a CSV file starts with byte order mark, {{arrow::open_dataset()}} reads the file but populates the first column with {{NA}} values. It appears a similar issue was raised and fixed here: https://issues.apache.org/jira/browse/ARROW-5413. {{read_csv_arrow()}} deals with the BOM correctly.
> Reproducible Example:
> {code:java}
> library(arrow)
> library(dplyr)
> writeLines('\xef\xbb\xbfa,b\n1,2\n', con = "testfile.csv")
> read_csv_arrow("testfile.csv") # works
> #> # A tibble: 1 × 2
> #> a b
> #> <int> <int>
> #> 1 1 2
> open_dataset("testfile.csv", format = "csv") |> 
>   collect()
> #> # A tibble: 1 × 2
> #> a b
> #> <int> <int>
> #> 1 NA 2 {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)