如何在R中导入ods文件

时间:2014-02-24 13:45:01

标签: r

我正在尝试导入数据(ods文件),我知道如何导入csv,xls等,但我一直都是。我尝试使用“gnumeric”包,但是R告诉我找不到所需的programm'sssconvert'。谁能帮我?

谢谢。

4 个答案:

答案 0 :(得分:26)

我写了一个名为readODS的软件包 它有一个函数read.ods,它将ods文件作为data.frames返回 (data.frames列表,每张一张)

可在CRAN上找到,请参阅here

此处的来源和错误报告: https://github.com/chainsawriot/readODS

答案 1 :(得分:3)

我在Ubuntu Linux上遇到了确切的问题。令人沮丧的显而易见:

  

sudo apt-get install gnumeric


碰巧,我有一堆过时的软件包,然后通过一堆来更新它们。 gnumeric库需要XML库,我的XML库的安装是在2.14上构建的,我的R不会加载3.0之前构建的任何内容。我不认为这是你的问题,但如果上面的解决方案不起作用,也许你也可以检查你的软件包是否是最新的。我通过sudo安装的任何内容都必须通过sudo删除,否则我会收到权限错误。


令人沮丧的是,因为错误信息是

  

read.gnumeric.sheet中的错误(file = fname,head = TRUE,sheet.name =“Sheet1”):    找不到所需的程序'ssconvert'。

为了强调它,http://cran.at.r-project.org/web/packages/gnumeric/gnumeric.pdf的包文档说

  

需要一个外部程序'ssconvert'(通常在'PATH'中安装'gnumeric'(http://projects.gnome.org/gnumeric/)。

你如何得到ssconvert?再次,令人沮丧的显而易见:它通常安装有gnumeric。转到命令行,然后键入ssconvert,它会提醒您:

  

user @ Computer:〜$ ssconvert
  目前尚未安装程序'ssconvert'。您可以输入以下命令安装它:   sudo apt-get install gnumeric

我检查过,ssconvert不在依赖包中(例如gnumeric-common),它位于gnumeric中,因此您必须安装完整的gnumeric包:

  

sudo apt-get install gnumeric

答案 2 :(得分:0)

我还没有尝试过,但ROpenOffice包看起来可能会起作用:http://www.omegahat.org/ROpenOffice/

答案 3 :(得分:0)

简短的回答是:在Linux上安装工具,可能在虚拟机中安装,然后使用gnumeric库。在Linux上使用library(gnumeric)就像在系统上安装gnumeric,然后在正在使用的R环境中安装gnumeric软件包一样简单。

事实证明,很难在Windows或Mac上进行设置。

Mac OSx

在Mac OSX中设置相同的东西是一个很大的麻烦。您需要通过macports获取gnumeric(电子表格应用程序),这意味着安装xcode,然后安装macports,fink或homebrew。如果您不习惯安装从Linux移植的软件,那么这是一项重大操作。我知道我不能指望当前的用户我正在编写R代码。

<强>窗

您会认为在Windows上更容易,因为有gnumeric installer for windows available,并且它会在应用程序文件夹中安装ssconvert.exe。但是设置PATH变量来查找这个ssconver.exe应用程序显然是不够的。 “无法找到ssconvert”问题被读取表格的其他问题所取代。它的行为肯定与Linux上的行为不同。

对于ROpenOffice来说,类似的东西是问题的基础。 Rcompression包是必需的,但这不是R包,而是需要在系统级可用的压缩技术。在windows / mac上安装它似乎并不简单,因此您遇到与gnumeric类似的问题。

这是一个真正的耻辱,因为.ods承诺是一个(相对)好的中间格式,以避免Excel文件格式(其中有太多)或excel导出(Excel无法处理)中的数据的许多问题一致的基于文本的格式,如os之间的csv,没有utf-8等)。