NEWS.md
nanoparquet see rio 1.0.1 below.Bug fixes
.dat
Bug fixes
trust parameter to functions that are used to load various R environment formats (.R, .Rds, .Rdata, etc). This parameter is defaulted to TRUE today to ensure backwards compatibility. A deprecation notice warns this will default to FALSE in rio 2.0. We are informing users that these data types should only be loaded from trusted sources, which should be affirmatively attested to.Bug fixes
which for archive formatsimport_list() and export_list() support tar archives.import_list it gives more informative warnings fix #389stringi to Suggests to reduce compilation time. Add an attribution to the internal data to list out all required packages #378readr to Imports for fwf. readr is a dependency of haven so it does not increase the number of dependencies. Remove the original read.fwf2 which doesn’t guess widths. Keep the widths and col.names to maintain compatibility. #381.import, .export, is_file_text; remove documentation for arg_reconcile #321qs #275 h/t David Schocharrow to import / export feather #340export_list can write multiple data frames to a single archive file (e.g. zip, tar) or a directory #346 h/t David Schochget_info is added #350setclass parameter is now authoritative. Therefore: import("starwars.csv", data.table = TRUE, setclass = "tibble") will return a tibble (unlike previous versions where a data.table is returned). The default class is data frame. You can either explicitly use the setclass parameter; or set the option: options(rio.import.class = "data.table"). h/t David Schoch #336arrow / arrow_table; ArrowTabular class can be exported #315writexl instead of openxlsx. Option to read xlsx with openxlsx (i.e. import("starwars.xlsx", readxl = FALSE)) is always TRUE. The ability to overwrite an existing sheet in an existing xlsx file is also removed. It is against the design principle of rio.import(fread), import(readr = TRUE), import(haven), import(readxl) and export(fwrite). import will almost use data.table, haven, readxl, and internal function (for fwf) to import and export data. Currently, those options stay for backward compatibility but will be removed in v2.0.0. #343 h/t David Schoch... is handled differently. Underlying functions using “Tidy” convention (e.g. readxl::read_xlsx()) can use “Base Convention” (See the new vignette: remap). Unused arguments passed to the underlying function as ... are silently ignored by default. A new option rio.ignoreunusedargs is added to control this behavior. #326file argument #301import_list works with single Excel/HTML/Zip online #294format #351.sas7bdat as deprecatedcoerce_character argument (default FALSE) to factorize() to enable coercing character columns to factor. (#278)data.table::fread() and data.table::fwrite(), providing significant performance gains.arg_reconcile() function to streamline the task of removing/renaming arguments for compatibility with various functions (#245, Alex Bokov)export_list() function to write a list of data frames to multiple files using a vector of file names or a file pattern. (#207, h/t Bill Denney)is_file_text() function to determine whether a file is in a plain-text format. Optionally narrower subsets of characters can be specified, e.g. ASCII. (#236 Alex Bokov)characterize() and factorize(). (#204, h/t David Armstrong)import_list() now returns a filename attribute for each data frame in the list (when importing from multiple files), in order to distinguish files with the same base name but different extensions (e.g., import_list(c("foo.csv", "foo.tsv"))). (#208, h/t Vimal Rawat)import() method for .dump R files. (#240)export() to plain text files when append = TRUE (#201, h/t Julián Urbano)import_list() now preserve names of Excel sheets, etc. when the ‘which’ argument is specified. (#162, h/t Danny Parsons)the condition has length > 1 and only the first element will be used warning in gather_attributes(). (#196, h/t Ruben Arslan)the condition has length > 1 and only the first element will be used warning in standardize_attributes().gather_attrs() for haven 2.0.0 release. (#188)import().import() of objects other than data frames from R-serialized (.rds and .rdata) files. Also, export of such objects to .rds files is supported, as previously intended. (#183, h/t Nicholas Jhirad)hexView::readEViews(). (#163, h/t Boris Demeshev)# rio 0.5.12
install_formats() so that it reads from the Suggests field of the DESCRIPTION file.README.Rmd (and thusly README.md) to stop complaining about a lack of title field.CONTRIBUTING.md (line said “three arguments”, but only listed two).import() wherein matlab files were ignored unless format was specified, as well as a related bug that made importing appear to fail for matlab files. (#171)export() wherein format was ignored. (#99, h/t Sebastian Sauer)export() method. (#156)export() to fixed-width format.get_ext() function. (#169)import_list() gains improved file name handling. (#164, h/t Ruaridh Williamson)overwrite argument from export() method for xlsx files. Instead, existing workbooks are always overwritten unless which is specified, in which case only the specified sheet (if it exists) is overwritten. If the file exists but the which sheet does not, the data are added as a new sheet to the existing workbook. (#156)data.table::fread() with a message. Export to the format remains unsupported. (#98, #155)haven::write_xpt()). (#157)haven::read_xpt() with a haven = FALSE toggle restoring the previous default behavior using foreign::read.xpt(). (#157)characterize() and factorize() provide methods for converting “labelled” variables (e.g., from Stata or SPSS) into character or factor variables using embedded metadata. This can also be useful for exporting a metadata-rich file format into a plain text file. (#153)import_list() and added tests for behavior.bib2df::bib2df()..import.rio_xlsx() when readxl = FALSE. (#152, h/t Danny Parsons)spread_attrs() that reverses the gather_attrs() operation.export() now sets variables with a “labels” attribute to haven’s “labelled” class.import_list() now returns a NULL entry for any failed imports, with a warning. (#149)import_list() gains additional arguments rbind_fill and rbind_label to control rbind-ing behavior. (#149)clipr::read_clip() and clipr::write_clip(), respectively, thus (finally) providing Linux support. (#105, h/t Matthew Lincoln)rbind argument to import_list(). (#149)setclass argument to import_list(), ala the same in import().requireNamespace() calls to quietly = TRUE.import_list() returns a list of data frames from a multi-object Excel Workbook, .Rdata file, zip directory, or HTML file. (#126, #129)export() can now write a list of data frames to an Excel (.xlsx) workbook. (#142, h/t Jeremy Johnson)export() can now write a list of data frames to an HTML (.html) file.export(format = "fwf") now depends on options("verbose").read_delim().set_class(). (#144)>= 0.1.1 (#130, h/t Yongfa Chen)excel_format arguments when using readxl functions. (#130)readODS::write_ods(). (#96).import.rio_xls() and .import.rio_xlsx() where the sheet argument would return an error.fread = FALSE. (#133, h/t Christopher Gandrud)fwrite() is now the default for text-based file formats..import.rio_xls() wherein the which argument was ignored. (h/t Mohamed Elgoussi)which argument. (#126)options(datatable.fread.dec.experiment=FALSE) during onLoad to address a Unix-specific locale issue.which argument in import().feather data serialization format. (#88, h/t Jason Becker)gather_attrs() on a data.frame with no attributes to gather. (#94)gather_attrs() function that moves variable-level attributes to the data.frame level. (#80)readr::read_fwf() with a specified widths argument. This may enable faster import of these types of files and provides a base-like interface for working with readr. (#48).import() and .export() are now exported S3 generics and documentation has been added to describe how to write rio extensions for new file types. An example of this functionality is shown in the new suggested “rio.db” package.import() now uses xml2 to read XML structures and export() uses a custom method for writing to XML, thereby negating dependency on the XML package. (#67)import() gains a which argument that is used to select which file to return from within a compressed tar or zip archive.tar() that are being fixed in base R via PR#16716.import() for SAS, Stata, and SPSS files has been streamlined. Regardless of whether the haven = TRUE argument is used, the data.frame returned by import() should now be (nearly) identical, with all attributes stored at the variable rather than data.frame level. This is a non-backwards compatible change. (#80)export() now allows automatic file compression as tar, gzip, or zip using the file argument (e.g., export(iris, "iris.csv.zip")).export() for fixed-width format files and added a commented header containing column class and width information.export(). (#73).import.default() and .export.default() then produce an error. This enables add-on packages to support additional formats through new s3 methods of the form .import.rio_EXTENSION() and .export.rio_EXTENSION()..import() and .export() methods. (#42, h/t Jason Becker)na.omit().curl::curl_fetch_memory(), the HTTP headers are checked for a filename in the Content-Disposition header. (#36)urltools::url_parse() to extract file extensions from complex URLs (e.g., those with query arguments). (#56)import always returns a data.frame, unless setclass is specified. (#22)readxl::read_excel, making its use optional. (#19)XML::xmlToDataFrame. (#12)data.table::fread by default for reading delimited files. (#3)dput and dget objects. (#10)stringsAsFactors = FALSE as default for reading tabular data. (#4)export based on object name and file format. (#5)convert function.import, export, convert, and utilities into separate source code files.