Supported formats

rush can read and write a wide range of data formats. The file extension determines which reader or writer is used automatically. Override with -F (input) or -O (output).

Format Extensions Read Write Package
Delimited text .csv, .tsv yes yes readr
Parquet .parquet, .pq yes yes nanoparquet
JSON .json yes yes jsonlite
JSON Lines .jsonl, .ndjson yes yes jsonlite
Excel .xlsx, .xls yes yes readxl / writexl
Arrow IPC .arrow, .ipc, .feather yes yes arrow
DuckDB .duckdb, .ddb yes yes duckdb
SPSS .sav, .zsav, .por yes yes haven
Stata .dta yes yes haven
SAS .sas7bdat, .xpt yes yes haven
SQLite .sqlite, .db yes yes RSQLite
Fixed-width .fwf yes no readr
RDS .rds yes yes readr
ODS .ods yes yes readODS
FASTA .fasta, .fa, .fna yes yes microseq
FASTQ .fastq, .fq yes yes microseq
YAML .yaml, .yml yes yes yaml
TOML .toml yes yes RcppTOML
XML .xml yes yes xml2

Any readable format can be converted to any writable format (through a data frame). The diagram below shows the full conversion graph:

graph LR
  CSV_in[CSV/TSV] --> rush((rush))
  Parquet_in[Parquet] --> rush
  JSON_in[JSON/JSONL] --> rush
  Excel_in[Excel] --> rush
  Arrow_in[Arrow IPC] --> rush
  DuckDB_in[DuckDB] --> rush
  SPSS_in[SPSS] --> rush
  Stata_in[Stata] --> rush
  SAS_in[SAS] --> rush
  SQLite_in[SQLite] --> rush
  FWF_in[FWF] --> rush
  RDS_in[RDS] --> rush
  ODS_in[ODS] --> rush
  FASTA_in[FASTA] --> rush
  FASTQ_in[FASTQ] --> rush
  YAML_in[YAML] --> rush
  TOML_in[TOML] --> rush
  XML_in[XML] --> rush

  rush --> CSV_out[CSV/TSV]
  rush --> Parquet_out[Parquet]
  rush --> JSON_out[JSON/JSONL]
  rush --> Excel_out[Excel]
  rush --> Arrow_out[Arrow IPC]
  rush --> DuckDB_out[DuckDB]
  rush --> SPSS_out[SPSS]
  rush --> Stata_out[Stata]
  rush --> SAS_out[SAS]
  rush --> SQLite_out[SQLite]
  rush --> RDS_out[RDS]
  rush --> ODS_out[ODS]
  rush --> FASTA_out[FASTA]
  rush --> FASTQ_out[FASTQ]
  rush --> YAML_out[YAML]
  rush --> TOML_out[TOML]
  rush --> XML_out[XML]

Format-specific documentation

Each format has detailed documentation with examples: