How to import .ods?
Asked Answered
J

3

21

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.

Jewess answered 24/2, 2014 at 13:45 Comment(3)
Did you try to install the ssconvert package? mail.gnome.org/archives/gnumeric-list/2013-November/…Divinadivination
I 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?Jewess
What 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.Allhallowtide
U
50

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

Uniocular answered 24/6, 2014 at 13:9 Comment(7)
Any 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)".Seaway
i 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.htmland 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).Uniocular
Perhaps you should elaborate on read.ods vs. read_ods ;-)Skolnik
According to your own docs, as of 1.6.2 read.ods has been deprecated and replaced by read_ods.Sabah
Although 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.Viradis
I'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.Lashio
@Skolnik From rdocumentation.org: "read_ods is a function to read a single sheet from an ods 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 to read_ods for backward compatibility with previous version of readODS. Please use read_ods if possible."Concertgoer
H
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

Halsy answered 24/5, 2014 at 18:19 Comment(0)
T
0

I haven't tried it but the ROpenOffice package looks like it might do the job: http://www.omegahat.org/ROpenOffice/

Tele answered 24/2, 2014 at 13:48 Comment(2)
I tried that as well, R tells me: ERROR: dependency ‘Rcompression’ is not available for package ‘ROpenOffice’ * removingJewess
link not working?Influenza

© 2022 - 2024 — McMap. All rights reserved.