How to import .ods?

16,873

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

Share:
16,873

Related videos on Youtube

Thomas
Author by

Thomas

Updated on June 11, 2022

Comments

  • Thomas
    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
      philshem about 10 years
      Did you try to install the ssconvert package? mail.gnome.org/archives/gnumeric-list/2013-November/…
    • Thomas
      Thomas about 10 years
      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?
    • FvD
      FvD about 10 years
      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.
  • Thomas
    Thomas about 10 years
    I tried that as well, R tells me: ERROR: dependency ‘Rcompression’ is not available for package ‘ROpenOffice’ * removing
  • Waldir Leoncio
    Waldir Leoncio over 9 years
    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)".
  • phonixor
    phonixor over 9 years
    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.h‌​tmland 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
    MichaelChirico over 7 years
    Perhaps you should elaborate on read.ods vs. read_ods ;-)
  • Superbest
    Superbest over 7 years
    According to your own docs, as of 1.6.2 read.ods has been deprecated and replaced by read_ods.
  • Adrian
    Adrian over 7 years
    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.
  • nJGL
    nJGL over 5 years
    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.
  • andselisk
    andselisk about 4 years
    @MichaelChirico 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."
  • Matifou
    Matifou almost 2 years
    link not working?