The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
cpp11
cpp11
like 2.2.0minty
instead of readr
to reduce the
number of dependenciescpp11
to
avoid the “non-API calls”trim_ws
for colnames
behaves
the same as readxl::read_xlsx()
.read_ods()
and
list_ods_sheets()
can also be used to process flat ods
files. read_fods()
and list_fods_sheets()
are
still available, but not as the so-called “common interface.”read_ods()
and read_fods()
have
two arguments - trim_ws
and n_max
which are
the same as the arguments of readxl::read_excel()
.cpp11
versionappend
and
update
of write_ods
in C++Significant speed improvement; also xml2
is no longer a
dependency.
col_names
/ row_names
Prior the previous stable release, <= 1.9.0, reading single-row /
single-column with col_names = TRUE
/
row_names = TRUE
produced errors.
In v1.9.0 (and the stable version v2.0.0 on CRAN), reading single-row
/ single-column (F)ODS with col_names = TRUE
/
row_names = TRUE
will override the two parameters and
return a non-empty data frame. This behaviour is consistent with other
data reading R functions (see #146) such as
readxl::read_xlsx()
, readr::read_csv()
,
data.table::fread()
, and
openxlsx::read.xlsx()
. For these functions, either a empty
or zero-row data.frame is returned.
We changed this behaviour. The following will return a zero-row data.frame by default.
read_ods(write_ods(mtcars[0,])) ## col_names is TRUE by default
However, the previous behaviour is in the stable release and backward
compatibility is needed. If you need that previous behaviour, please set
the options("readODS.v200" = TRUE)
options("readODS.v200" = TRUE)
read_ods(write_ods(mtcars[0,])) ## col_names is TRUE by default
write_ods
and write_fods
allow list of data framesFix #56; and it is now the same as
writexl::write_xlsx()
.
write_ods(list("some_car_data" = mtcars, "some_flower_data" = iris))
list_fods_sheets()
and
read_fods()
cannot accept ~
as pathlist_fods_sheets()
can’t guard non-fods XML
disguised as fodsods_sheets
See discussion #133
col_types
can be character (“shorthand”) or listfix #135 and the review by Dr Ruedni
# Specifying col_types as shorthand, the third column as factor; other by guessing
read_ods("starwars.ods", col_types = "??f")
# Specifying col_types as list
read_ods("starwars.ods", col_types = list(species = "f"))
write_fods
is available, fix #103
write_ods
write_ods
has been partially rewritten in C++ #140
To ensure UTF-8 everywhere, fix #107
Bump requirement to R>=3.6
dttm
column was incorrectly written with one more
column. It’s now fixed.
write_ods(na_as_string)
behaviourThe default for na_as_string
was
getOption("write_ods_na", default = FALSE)
in v1.8. The
default now is FALSE
, but it writes NA as blank cell
(instead of the buggy behaviour of writing NA in the original type,
which is rendered as 0 by LibreOffice for numeric types. see #79). This
behaviour is compatible with the default of
writexl::write_xlsx
.
The behaviour of na_as_string = TRUE
is the same as in
v1.8: writes NA as string.
get_num_sheets_in_{f}ods()
The descendant of getNrOfSheetsInODS()
is not very
useful. If you really need to have the similar function:
length(list_ods_sheets("starwars.ods"))
write_ods()
overwrite
: always TRUEverbose
: always FALSEwrite_ods()
as_tibble
and .name_repair
as
arguments. If as_tibble
is true, outputs as a tibble using
tibble::as_tibble()
passing on .name_repair
(default being "unique"
). By default
as_tibble
is set to TRUE.check_names
argument. All name repairs are now
dealt with using vctrs::vec_as_names()
. This will
significantly change the default names given to
outputs. (Names in the style of check_names = TRUE
can be
obtained by setting .name_repair = minimal
, although this
is not advised)ods_sheets
to v3There are many reverse dependencies using
ods_sheets
.
NEWS.md
file to track changes to the
package.These have been deprecated for several years.
include_external_data
as an argument
(FALSE
by default). This hides stored data from external
sources not normally accessible to the user.range
argument,
e.g. Range = "Sheet2!A2:B7"
. If this and the
sheets
argument are given, this is preferred.NA
.as_tibble
and .name_repair
as
arguments. If as_tibble
is true, outputs as a tibble using
tibble::as_tibble()
passing on .name_repair
(default being "check_unique"
).read_fods()
, list_fods_sheets()
,
get_num_sheets_in_fods()
. These work the same way as their
analogue ODS functions. The extension does not need to be
fods
, however they do need to conform to the OO
specification.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.