You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Dragoș Moldovan-Grünfeld (Jira)" <ji...@apache.org> on 2021/12/08 09:22:00 UTC

[jira] [Assigned] (ARROW-14902) [R] Update write_csv_arrow() to support all args of readr::write_csv()

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

Dragoș Moldovan-Grünfeld reassigned ARROW-14902:
------------------------------------------------

    Assignee: Dragoș Moldovan-Grünfeld

> [R] Update write_csv_arrow() to support all args of readr::write_csv()
> ----------------------------------------------------------------------
>
>                 Key: ARROW-14902
>                 URL: https://issues.apache.org/jira/browse/ARROW-14902
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: R
>            Reporter: Dragoș Moldovan-Grünfeld
>            Assignee: Dragoș Moldovan-Grünfeld
>            Priority: Major
>
> Currently (arrow version 6.0.1 and readr version 2.1.0) we only support a few of the {{readr::write_csv()}} arguments. Once ARROW-13623 is fixed {{write_csv_arrow()}} will error if the user passes unsupported {{readr}} arguments. 
> The following arguments need CsvWriteOptions (see linked issues) in order to be exposed to R users:
>  * {{{}na{}}}: string used for missing values. Defaults to {{{}NA{}}}. Missing values are never quoted; strings with the same value as {{na}} will always be quoted.
>  * {{{}append{}}}: boolean. If \{[FALSE}} will overwrite existing file. If {{TRUE}} will append to existing file. In both cases, if the file doesn't exist, a new file is created.
>  * {{{}quote{}}}: how to handle fields which contain characters that need to be quoted:
>  ** {{{}needed{}}}: only quote fields which need them
>  ** {{{}all{}}}: quote all fields - I think this might be the implicit default behaviour for `write_csv_arrow()`
>  ** {{{}none{}}}: never quote fields
>  * {{{}escape{}}}: the type of escape to use when quotes are in the data:
>  ** {{{}double{}}}: quotes are escaped by doubling them
>  ** {{{}backslash{}}}: quotes are escaped by a preceding backslash
>  ** {{{}none{}}}: quotes are not escaped
>  * {{{}eol{}}}: the end of line character to use. Most commonly either "\n" for Unix style newlines, or "\r\n" for Windows style newlines.
>  
> Once these are enabled, update the signature of `write_csv_arrow()` and compare written files. 
> From ARROW-13623 "I noticed we had a difference in quoting: readr doesn't quote strings by default but we do." Once we have more control over quoting, we could write some tests to make sure default behaviours between {{write_csv_arrow() and {{readr::write_csv()}}}} match.



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