import_csv {mintyr} | R Documentation |
Flexible CSV
/TXT
File Import with Multiple Backend Support
Description
A comprehensive CSV
or TXT
file import function offering advanced reading capabilities
through data.table
and arrow
packages with intelligent data combination strategies.
Usage
import_csv(
file,
package = "data.table",
rbind = TRUE,
rbind_label = "_file",
...
)
Arguments
file |
A |
package |
A
|
rbind |
A
|
rbind_label |
A
|
... |
Additional arguments passed to backend-specific reading functions
(e.g., |
Details
The function provides a unified interface for reading CSV files using either data.table or arrow package. When reading multiple files, it can either combine them into a single data object or return them as a list. File source tracking is supported through the rbind_label parameter.
Value
Depends on the rbind
parameter:
If
rbind = TRUE
: A single data object (from chosen package) containing all imported dataIf
rbind = FALSE
: A named list of data objects with names derived from input file names (without extensions)
Note
Critical Import Considerations:
Requires all specified files to be accessible
CSV/TXT
filesSupports flexible backend selection
-
rbind = TRUE
assumes compatible data structures Missing columns are automatically aligned
File extensions are automatically removed in tracking columns
See Also
-
data.table::fread()
fordata.table
backend -
arrow::read_csv_arrow()
forarrow
backend -
data.table::rbindlist()
for data combination
Examples
# Example: CSV file import demonstrations
# Setup test files
csv_files <- mintyr_example(
mintyr_examples("csv_test") # Get example CSV files
)
# Example 1: Import and combine CSV files using data.table
import_csv(
csv_files, # Input CSV file paths
package = "data.table", # Use data.table for reading
rbind = TRUE, # Combine all files into one data.table
rbind_label = "_file" # Column name for file source
)
# Example 2: Import files separately using arrow
import_csv(
csv_files, # Input CSV file paths
package = "arrow", # Use arrow for reading
rbind = FALSE # Keep files as separate data.tables
)