The aim of rio is to make data file I/O in R as easy as possible by implementing four simple functions in Swiss-army knife style:

# package
library(rio)
## Warning: package 'rio' was built under R version 3.4.3
# Export
export(mtcars, "mtcars.csv") # comma-separated values
export(mtcars, "mtcars.rds") # R serialized
export(mtcars, "mtcars.sav") # SPSS

# import
x <- import("mtcars.csv")
y <- import("mtcars.rds")
z <- import("mtcars.sav")
str(x)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : int  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : int  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : int  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : int  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: int  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: int  4 4 1 1 2 1 4 2 2 4 ...
str(y)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
str(z)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : atomic  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ cyl : atomic  6 6 4 6 8 6 8 4 4 6 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ disp: atomic  160 160 108 258 360 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ hp  : atomic  110 110 93 110 175 105 245 62 95 123 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ drat: atomic  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ wt  : atomic  2.62 2.88 2.32 3.21 3.44 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ qsec: atomic  16.5 17 18.6 19.4 17 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ vs  : atomic  0 0 1 1 0 1 0 1 1 1 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ am  : atomic  1 1 1 0 0 0 0 0 0 0 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ gear: atomic  4 4 4 3 3 3 3 4 4 4 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
##  $ carb: atomic  4 4 1 1 2 1 4 2 2 4 ...
##   ..- attr(*, "format.spss")= chr "F8.2"
### confirm data match
all.equal(x, y, check.attributes = FALSE)
## [1] TRUE
all.equal(x, z, check.attributes = FALSE)
## [1] TRUE