How to import .ods?
Solution 1
I wrote a package called readODS
which has a function read.ods
that returns ods files as data.frames
(a list of data.frames
, one per sheet)
It is available on CRAN, see here!
Source and bug reports here: https://github.com/chainsawriot/readODS
Solution 2
I had the exact problem on Ubuntu Linux. It's frustratingly obvious:
sudo apt-get install gnumeric
As it happens, I had a bunch of obsolete packages, and went thru a bunch to update them. The gnumeric
library requires the XML
library, and my installation of XML
library was built on 2.14, and my R wouldn't load anything built before 3.0. I don't think that is your issue, but if this solution above doesn't work, maybe you could also check that your packages are up-to-date. Anything I installed via sudo
had to be removed via sudo
, or I got permissions errors.
It's frustratingly obvious, because the error message is
Error in read.gnumeric.sheet(file = fname, head = TRUE, sheet.name = "Sheet1") : Required program 'ssconvert' not found.
To emphasize it, the package documentation at http://cran.at.r-project.org/web/packages/gnumeric/gnumeric.pdf says
Requires an external program, 'ssconvert' (normally installed with 'gnumeric' (http://projects.gnome.org/gnumeric/) in 'PATH'.
How do you get ssconvert
? Again, frustratingly obvious: it's normally installed with gnumeric. Go to the command line, and type ssconvert
, and it'll remind you that:
user@Computer:~$ ssconvert
The program 'ssconvert' is currently not installed. You can install it by typing: sudo apt-get install gnumeric
I checked, ssconvert
isn't in the dependency packages (like gnumeric-common
), it's in gnumeric
proper, so you have to install the complete gnumeric
package:
sudo apt-get install gnumeric
Related videos on Youtube
Thomas
Updated on June 11, 2022Comments
-
Thomas almost 2 years
I'm trying to import data (.ods file) and I know how to import .csv, .xls etc. but I strand all the time. I tried it with the package Gnumeric but R tells me that the required program 'ssconvert' cannot be found.
-
philshem about 10 yearsDid you try to install the ssconvert package? mail.gnome.org/archives/gnumeric-list/2013-November/…
-
Thomas about 10 yearsI have exactly the same problem as the questioner but i cannot install ssconvert (no such package?). Unfortunately I don't understand the answer "R does not look for ssconvert in the right place". I thought ssconvert is integral to gnumeric?
-
FvD about 10 yearsWhat os are you using? The "right place" is usually shorthand for making sure that the program is in your "PATH", in other words, can be found by programs calling it. On Linux it works without a hitch after installing gnumeric.
-
-
Thomas about 10 yearsI tried that as well, R tells me: ERROR: dependency ‘Rcompression’ is not available for package ‘ROpenOffice’ * removing
-
Waldir Leoncio over 9 yearsAny change we'll get a version compatible with R 3.0.2 soon? I'm getting this message after running
install.packages("readODS")
: "package ‘readODS’ is not available (for R version 3.0.2)". -
phonixor over 9 yearsi do not know how to add packages to CRAN for previous R releases, or how to check on what versions my package can run. can you try to build the package yourself? all i can find is:
http://cran.r-project.org/web/checks/check_results_readODS.html
and it passes everything there... i added a bug report to my tracker, but i am unsure what to do with it tbh (https://github.com/phonixor/readODS/issues/14
). -
MichaelChirico over 7 yearsPerhaps you should elaborate on
read.ods
vs.read_ods
;-) -
Superbest over 7 yearsAccording to your own docs, as of 1.6.2
read.ods
has been deprecated and replaced byread_ods
. -
Adrian over 7 yearsAlthough recently upgraded, I've tested this function and it's awfully slow. Unless the authors do something to speed the reading, I will look for something else.
-
nJGL over 5 yearsI've been using it, but my non-ascii letters like å import as <U+00E5> or as å arbitrarily. read_ods() is excellent for getting numbers from .ods-files though.
-
andselisk about 4 years@MichaelChirico From rdocumentation.org: "
read_ods
is a function to read a single sheet from anods
file and return a data frame.read.ods
always returns a list of data frames with one data frame per sheet. This is a wrapper toread_ods
for backward compatibility with previous version ofreadODS
. Please useread_ods
if possible." -
Matifou almost 2 yearslink not working?