| <!DOCTYPE html> |
| <!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta name="description" content="These functions uses the Arrow C++ CSV reader to read into a data.frame. |
| Arrow C++ options have been mapped to argument names that follow those of |
| readr::read_delim(), and col_select was inspired by vroom::vroom()."><title>Read a CSV or other delimited file with Arrow — read_delim_arrow • Arrow R Package</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.2.2/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.2.2/bootstrap.bundle.min.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- bootstrap-toc --><script src="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js" integrity="sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><script src="../extra.js"></script><meta property="og:title" content="Read a CSV or other delimited file with Arrow — read_delim_arrow"><meta property="og:description" content="These functions uses the Arrow C++ CSV reader to read into a data.frame. |
| Arrow C++ options have been mapped to argument names that follow those of |
| readr::read_delim(), and col_select was inspired by vroom::vroom()."><meta property="og:image" content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png"><meta property="og:image:alt" content="Apache Arrow logo, displaying the triple chevron image adjacent to the text"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:creator" content="@apachearrow"><meta name="twitter:site" content="@apachearrow"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> |
| <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
| <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
| <![endif]--><!-- Matomo --><script> |
| var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| /* We explicitly disable cookie tracking to avoid privacy issues */ |
| _paq.push(['disableCookies']); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="https://analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '20']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script><!-- End Matomo Code --></head><body> |
| <a href="#main" class="visually-hidden-focusable">Skip to contents</a> |
| |
| |
| <nav class="navbar fixed-top navbar-dark navbar-expand-lg bg-black"><div class="container"> |
| |
| <a class="navbar-brand me-2" href="../index.html">Arrow R Package</a> |
| |
| <span class="version"> |
| <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">11.0.0</small> |
| </span> |
| |
| |
| <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
| |
| <div id="navbar" class="collapse navbar-collapse ms-3"> |
| <ul class="navbar-nav me-auto"><li class="nav-item"> |
| <a class="nav-link" href="../articles/arrow.html">Get started</a> |
| </li> |
| <li class="active nav-item"> |
| <a class="nav-link" href="../reference/index.html">Reference</a> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true" id="dropdown-articles">Articles</a> |
| <div class="dropdown-menu" aria-labelledby="dropdown-articles"> |
| <h6 class="dropdown-header" data-toc-skip>Using the package</h6> |
| <a class="dropdown-item" href="../articles/read_write.html">Reading and writing data files</a> |
| <a class="dropdown-item" href="../articles/data_wrangling.html">Data analysis with dplyr syntax</a> |
| <a class="dropdown-item" href="../articles/dataset.html">Working with multi-file data sets</a> |
| <a class="dropdown-item" href="../articles/python.html">Integrating Arrow, Python, and R</a> |
| <a class="dropdown-item" href="../articles/fs.html">Using cloud storage (S3, GCS)</a> |
| <a class="dropdown-item" href="../articles/flight.html">Connecting to a Flight server</a> |
| <div class="dropdown-divider"></div> |
| <h6 class="dropdown-header" data-toc-skip>Arrow concepts</h6> |
| <a class="dropdown-item" href="../articles/data_objects.html">Data objects</a> |
| <a class="dropdown-item" href="../articles/data_types.html">Data types</a> |
| <a class="dropdown-item" href="../articles/metadata.html">Metadata</a> |
| <div class="dropdown-divider"></div> |
| <h6 class="dropdown-header" data-toc-skip>Installation</h6> |
| <a class="dropdown-item" href="../articles/install.html">Installing on Linux</a> |
| <a class="dropdown-item" href="../articles/install_nightly.html">Installing development versions</a> |
| <div class="dropdown-divider"></div> |
| <a class="dropdown-item" href="../articles/index.html">More articles...</a> |
| </div> |
| </li> |
| <li class="nav-item"> |
| <a class="nav-link" href="../news/index.html">Changelog</a> |
| </li> |
| </ul><form class="form-inline my-2 my-lg-0" role="search"> |
| <input type="search" class="form-control me-sm-2" aria-label="Toggle navigation" name="search-input" data-search-index="../search.json" id="search-input" placeholder="Search for" autocomplete="off"></form> |
| |
| <ul class="navbar-nav"></ul></div> |
| |
| |
| </div> |
| </nav><div class="container template-reference-topic"> |
| <div class="row"> |
| <main id="main" class="col-md-9"><div class="page-header"> |
| <img src="" class="logo" alt=""><h1>Read a CSV or other delimited file with Arrow</h1> |
| <small class="dont-index">Source: <a href="https://github.com/apache/arrow/blob/master/r/R/csv.R" class="external-link"><code>R/csv.R</code></a></small> |
| <div class="d-none name"><code>read_delim_arrow.Rd</code></div> |
| </div> |
| |
| <div class="ref-description section level2"> |
| <p>These functions uses the Arrow C++ CSV reader to read into a <code>data.frame</code>. |
| Arrow C++ options have been mapped to argument names that follow those of |
| <code>readr::read_delim()</code>, and <code>col_select</code> was inspired by <code>vroom::vroom()</code>.</p> |
| </div> |
| |
| <div class="section level2"> |
| <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2> |
| <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">read_delim_arrow</span><span class="op">(</span></span> |
| <span> <span class="va">file</span>,</span> |
| <span> delim <span class="op">=</span> <span class="st">","</span>,</span> |
| <span> quote <span class="op">=</span> <span class="st">"\""</span>,</span> |
| <span> escape_double <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> escape_backslash <span class="op">=</span> <span class="cn">FALSE</span>,</span> |
| <span> schema <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> col_names <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> col_types <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> col_select <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> na <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">""</span>, <span class="st">"NA"</span><span class="op">)</span>,</span> |
| <span> quoted_na <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> skip_empty_rows <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> skip <span class="op">=</span> <span class="fl">0L</span>,</span> |
| <span> parse_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> convert_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> read_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> as_data_frame <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> timestamp_parsers <span class="op">=</span> <span class="cn">NULL</span></span> |
| <span><span class="op">)</span></span> |
| <span></span> |
| <span><span class="fu">read_csv_arrow</span><span class="op">(</span></span> |
| <span> <span class="va">file</span>,</span> |
| <span> quote <span class="op">=</span> <span class="st">"\""</span>,</span> |
| <span> escape_double <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> escape_backslash <span class="op">=</span> <span class="cn">FALSE</span>,</span> |
| <span> schema <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> col_names <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> col_types <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> col_select <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> na <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">""</span>, <span class="st">"NA"</span><span class="op">)</span>,</span> |
| <span> quoted_na <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> skip_empty_rows <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> skip <span class="op">=</span> <span class="fl">0L</span>,</span> |
| <span> parse_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> convert_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> read_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> as_data_frame <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> timestamp_parsers <span class="op">=</span> <span class="cn">NULL</span></span> |
| <span><span class="op">)</span></span> |
| <span></span> |
| <span><span class="fu">read_tsv_arrow</span><span class="op">(</span></span> |
| <span> <span class="va">file</span>,</span> |
| <span> quote <span class="op">=</span> <span class="st">"\""</span>,</span> |
| <span> escape_double <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> escape_backslash <span class="op">=</span> <span class="cn">FALSE</span>,</span> |
| <span> schema <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> col_names <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> col_types <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> col_select <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> na <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">""</span>, <span class="st">"NA"</span><span class="op">)</span>,</span> |
| <span> quoted_na <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> skip_empty_rows <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> skip <span class="op">=</span> <span class="fl">0L</span>,</span> |
| <span> parse_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> convert_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> read_options <span class="op">=</span> <span class="cn">NULL</span>,</span> |
| <span> as_data_frame <span class="op">=</span> <span class="cn">TRUE</span>,</span> |
| <span> timestamp_parsers <span class="op">=</span> <span class="cn">NULL</span></span> |
| <span><span class="op">)</span></span></code></pre></div> |
| </div> |
| |
| <div class="section level2"> |
| <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2> |
| <dl><dt>file</dt> |
| <dd><p>A character file name or URI, <code>raw</code> vector, an Arrow input stream, |
| or a <code>FileSystem</code> with path (<code>SubTreeFileSystem</code>). |
| If a file name, a memory-mapped Arrow <a href="InputStream.html">InputStream</a> will be opened and |
| closed when finished; compression will be detected from the file extension |
| and handled automatically. If an input stream is provided, it will be left |
| open.</p></dd> |
| |
| |
| <dt>delim</dt> |
| <dd><p>Single character used to separate fields within a record.</p></dd> |
| |
| |
| <dt>quote</dt> |
| <dd><p>Single character used to quote strings.</p></dd> |
| |
| |
| <dt>escape_double</dt> |
| <dd><p>Does the file escape quotes by doubling them? |
| i.e. If this option is <code>TRUE</code>, the value <code>""""</code> represents |
| a single quote, <code>\"</code>.</p></dd> |
| |
| |
| <dt>escape_backslash</dt> |
| <dd><p>Does the file use backslashes to escape special |
| characters? This is more general than <code>escape_double</code> as backslashes |
| can be used to escape the delimiter character, the quote character, or |
| to add special characters like <code>\\n</code>.</p></dd> |
| |
| |
| <dt>schema</dt> |
| <dd><p><a href="Schema.html">Schema</a> that describes the table. If provided, it will be |
| used to satisfy both <code>col_names</code> and <code>col_types</code>.</p></dd> |
| |
| |
| <dt>col_names</dt> |
| <dd><p>If <code>TRUE</code>, the first row of the input will be used as the |
| column names and will not be included in the data frame. If <code>FALSE</code>, column |
| names will be generated by Arrow, starting with "f0", "f1", ..., "fN". |
| Alternatively, you can specify a character vector of column names.</p></dd> |
| |
| |
| <dt>col_types</dt> |
| <dd><p>A compact string representation of the column types, |
| an Arrow <a href="Schema.html">Schema</a>, or <code>NULL</code> (the default) to infer types from the data.</p></dd> |
| |
| |
| <dt>col_select</dt> |
| <dd><p>A character vector of column names to keep, as in the |
| "select" argument to <code>data.table::fread()</code>, or a |
| <a href="https://tidyselect.r-lib.org/reference/eval_select.html" class="external-link">tidy selection specification</a> |
| of columns, as used in <code><a href="https://dplyr.tidyverse.org/reference/select.html" class="external-link">dplyr::select()</a></code>.</p></dd> |
| |
| |
| <dt>na</dt> |
| <dd><p>A character vector of strings to interpret as missing values.</p></dd> |
| |
| |
| <dt>quoted_na</dt> |
| <dd><p>Should missing values inside quotes be treated as missing |
| values (the default) or strings. (Note that this is different from the |
| the Arrow C++ default for the corresponding convert option, |
| <code>strings_can_be_null</code>.)</p></dd> |
| |
| |
| <dt>skip_empty_rows</dt> |
| <dd><p>Should blank rows be ignored altogether? If |
| <code>TRUE</code>, blank rows will not be represented at all. If <code>FALSE</code>, they will be |
| filled with missings.</p></dd> |
| |
| |
| <dt>skip</dt> |
| <dd><p>Number of lines to skip before reading data.</p></dd> |
| |
| |
| <dt>parse_options</dt> |
| <dd><p>see <a href="CsvReadOptions.html">file reader options</a>. |
| If given, this overrides any |
| parsing options provided in other arguments (e.g. <code>delim</code>, <code>quote</code>, etc.).</p></dd> |
| |
| |
| <dt>convert_options</dt> |
| <dd><p>see <a href="CsvReadOptions.html">file reader options</a></p></dd> |
| |
| |
| <dt>read_options</dt> |
| <dd><p>see <a href="CsvReadOptions.html">file reader options</a></p></dd> |
| |
| |
| <dt>as_data_frame</dt> |
| <dd><p>Should the function return a <code>data.frame</code> (default) or |
| an Arrow <a href="Table.html">Table</a>?</p></dd> |
| |
| |
| <dt>timestamp_parsers</dt> |
| <dd><p>User-defined timestamp parsers. If more than one |
| parser is specified, the CSV conversion logic will try parsing values |
| starting from the beginning of this vector. Possible values are:</p><ul><li><p><code>NULL</code>: the default, which uses the ISO-8601 parser</p></li> |
| <li><p>a character vector of <a href="https://rdrr.io/r/base/strptime.html" class="external-link">strptime</a> parse strings</p></li> |
| <li><p>a list of <a href="CsvReadOptions.html">TimestampParser</a> objects</p></li> |
| </ul></dd> |
| |
| </dl></div> |
| <div class="section level2"> |
| <h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2> |
| |
| |
| <p>A <code>data.frame</code>, or a Table if <code>as_data_frame = FALSE</code>.</p> |
| </div> |
| <div class="section level2"> |
| <h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2> |
| <p><code>read_csv_arrow()</code> and <code>read_tsv_arrow()</code> are wrappers around |
| <code>read_delim_arrow()</code> that specify a delimiter.</p> |
| <p>Note that not all <code>readr</code> options are currently implemented here. Please file |
| an issue if you encounter one that <code>arrow</code> should support.</p> |
| <p>If you need to control Arrow-specific reader parameters that don't have an |
| equivalent in <code>readr::read_csv()</code>, you can either provide them in the |
| <code>parse_options</code>, <code>convert_options</code>, or <code>read_options</code> arguments, or you can |
| use <a href="CsvTableReader.html">CsvTableReader</a> directly for lower-level access.</p> |
| </div> |
| <div class="section level2"> |
| <h2 id="specifying-column-types-and-names">Specifying column types and names<a class="anchor" aria-label="anchor" href="#specifying-column-types-and-names"></a></h2> |
| |
| |
| |
| <p>By default, the CSV reader will infer the column names and data types from the file, but there |
| are a few ways you can specify them directly.</p> |
| <p>One way is to provide an Arrow <a href="Schema.html">Schema</a> in the <code>schema</code> argument, |
| which is an ordered map of column name to type. |
| When provided, it satisfies both the <code>col_names</code> and <code>col_types</code> arguments. |
| This is good if you know all of this information up front.</p> |
| <p>You can also pass a <code>Schema</code> to the <code>col_types</code> argument. If you do this, |
| column names will still be inferred from the file unless you also specify |
| <code>col_names</code>. In either case, the column names in the <code>Schema</code> must match the |
| data's column names, whether they are explicitly provided or inferred. That |
| said, this <code>Schema</code> does not have to reference all columns: those omitted |
| will have their types inferred.</p> |
| <p>Alternatively, you can declare column types by providing the compact string representation |
| that <code>readr</code> uses to the <code>col_types</code> argument. This means you provide a |
| single string, one character per column, where the characters map to Arrow |
| types analogously to the <code>readr</code> type mapping:</p><ul><li><p>"c": <code><a href="data-type.html">utf8()</a></code></p></li> |
| <li><p>"i": <code><a href="data-type.html">int32()</a></code></p></li> |
| <li><p>"n": <code><a href="data-type.html">float64()</a></code></p></li> |
| <li><p>"d": <code><a href="data-type.html">float64()</a></code></p></li> |
| <li><p>"l": <code><a href="data-type.html">bool()</a></code></p></li> |
| <li><p>"f": <code><a href="dictionary.html">dictionary()</a></code></p></li> |
| <li><p>"D": <code><a href="data-type.html">date32()</a></code></p></li> |
| <li><p>"T": <code><a href="data-type.html">timestamp(unit = "ns")</a></code></p></li> |
| <li><p>"t": <code><a href="data-type.html">time32()</a></code> (The <code>unit</code> arg is set to the default value <code>"ms"</code>)</p></li> |
| <li><p>"_": <code><a href="data-type.html">null()</a></code></p></li> |
| <li><p>"-": <code><a href="data-type.html">null()</a></code></p></li> |
| <li><p>"?": infer the type from the data</p></li> |
| </ul><p>If you use the compact string representation for <code>col_types</code>, you must also |
| specify <code>col_names</code>.</p> |
| <p>Regardless of how types are specified, all columns with a <code><a href="data-type.html">null()</a></code> type will |
| be dropped.</p> |
| <p>Note that if you are specifying column names, whether by <code>schema</code> or |
| <code>col_names</code>, and the CSV file has a header row that would otherwise be used |
| to idenfity column names, you'll need to add <code>skip = 1</code> to skip that row.</p> |
| </div> |
| |
| <div class="section level2"> |
| <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2> |
| <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="va">tf</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/tempfile.html" class="external-link">tempfile</a></span><span class="op">(</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/on.exit.html" class="external-link">on.exit</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/unlink.html" class="external-link">unlink</a></span><span class="op">(</span><span class="va">tf</span><span class="op">)</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/write.table.html" class="external-link">write.csv</a></span><span class="op">(</span><span class="va">mtcars</span>, file <span class="op">=</span> <span class="va">tf</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="va">df</span> <span class="op"><-</span> <span class="fu">read_csv_arrow</span><span class="op">(</span><span class="va">tf</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/dim.html" class="external-link">dim</a></span><span class="op">(</span><span class="va">df</span><span class="op">)</span></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> [1] 32 12</span> |
| <span class="r-in"><span><span class="co"># Can select columns</span></span></span> |
| <span class="r-in"><span><span class="va">df</span> <span class="op"><-</span> <span class="fu">read_csv_arrow</span><span class="op">(</span><span class="va">tf</span>, col_select <span class="op">=</span> <span class="fu"><a href="https://tidyselect.r-lib.org/reference/starts_with.html" class="external-link">starts_with</a></span><span class="op">(</span><span class="st">"d"</span><span class="op">)</span><span class="op">)</span></span></span> |
| <span class="r-in"><span></span></span> |
| <span class="r-in"><span><span class="co"># Specifying column types and names</span></span></span> |
| <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/write.table.html" class="external-link">write.csv</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span>x <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">1</span>, <span class="fl">3</span><span class="op">)</span>, y <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">2</span>, <span class="fl">4</span><span class="op">)</span><span class="op">)</span>, file <span class="op">=</span> <span class="va">tf</span>, row.names <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="fu">read_csv_arrow</span><span class="op">(</span><span class="va">tf</span>, schema <span class="op">=</span> <span class="fu"><a href="Schema.html">schema</a></span><span class="op">(</span>x <span class="op">=</span> <span class="fu"><a href="data-type.html">int32</a></span><span class="op">(</span><span class="op">)</span>, y <span class="op">=</span> <span class="fu"><a href="data-type.html">utf8</a></span><span class="op">(</span><span class="op">)</span><span class="op">)</span>, skip <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 2 x 2</span></span> |
| <span class="r-out co"><span class="r-pr">#></span> x y </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494; font-style: italic;"><int></span> <span style="color: #949494; font-style: italic;"><chr></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">1</span> 1 2 </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">2</span> 3 4 </span> |
| <span class="r-in"><span><span class="fu">read_csv_arrow</span><span class="op">(</span><span class="va">tf</span>, col_types <span class="op">=</span> <span class="fu"><a href="Schema.html">schema</a></span><span class="op">(</span>y <span class="op">=</span> <span class="fu"><a href="data-type.html">utf8</a></span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 2 x 2</span></span> |
| <span class="r-out co"><span class="r-pr">#></span> x y </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494; font-style: italic;"><int></span> <span style="color: #949494; font-style: italic;"><chr></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">1</span> 1 2 </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">2</span> 3 4 </span> |
| <span class="r-in"><span><span class="fu">read_csv_arrow</span><span class="op">(</span><span class="va">tf</span>, col_types <span class="op">=</span> <span class="st">"ic"</span>, col_names <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"x"</span>, <span class="st">"y"</span><span class="op">)</span>, skip <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 2 x 2</span></span> |
| <span class="r-out co"><span class="r-pr">#></span> x y </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494; font-style: italic;"><int></span> <span style="color: #949494; font-style: italic;"><chr></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">1</span> 1 2 </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">2</span> 3 4 </span> |
| <span class="r-in"><span></span></span> |
| <span class="r-in"><span><span class="co"># Note that if a timestamp column contains time zones,</span></span></span> |
| <span class="r-in"><span><span class="co"># the string "T" `col_types` specification won't work.</span></span></span> |
| <span class="r-in"><span><span class="co"># To parse timestamps with time zones, provide a [Schema] to `col_types`</span></span></span> |
| <span class="r-in"><span><span class="co"># and specify the time zone in the type object:</span></span></span> |
| <span class="r-in"><span><span class="va">tf</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/tempfile.html" class="external-link">tempfile</a></span><span class="op">(</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/write.table.html" class="external-link">write.csv</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span>x <span class="op">=</span> <span class="st">"1970-01-01T12:00:00+12:00"</span><span class="op">)</span>, file <span class="op">=</span> <span class="va">tf</span>, row.names <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="fu">read_csv_arrow</span><span class="op">(</span></span></span> |
| <span class="r-in"><span> <span class="va">tf</span>,</span></span> |
| <span class="r-in"><span> col_types <span class="op">=</span> <span class="fu"><a href="Schema.html">schema</a></span><span class="op">(</span>x <span class="op">=</span> <span class="fu"><a href="data-type.html">timestamp</a></span><span class="op">(</span>unit <span class="op">=</span> <span class="st">"us"</span>, timezone <span class="op">=</span> <span class="st">"UTC"</span><span class="op">)</span><span class="op">)</span></span></span> |
| <span class="r-in"><span><span class="op">)</span></span></span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 1 x 1</span></span> |
| <span class="r-out co"><span class="r-pr">#></span> x </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494; font-style: italic;"><dttm></span> </span> |
| <span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">1</span> 1970-01-01 <span style="color: #949494;">00:00:00</span></span> |
| </code></pre></div> |
| </div> |
| </main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2> |
| </nav></aside></div> |
| |
| |
| <footer><div class="pkgdown-footer-left"> |
| <p></p><p><a href="https://arrow.apache.org/docs/r/versions.html">Older versions of these docs</a></p> |
| </div> |
| |
| <div class="pkgdown-footer-right"> |
| <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> |
| </div> |
| |
| </footer></div> |
| |
| |
| |
| |
| |
| </body></html> |
| |