如何导入 .ods 文件?

20

我试图导入数据(.ods文件),我知道如何导入.csv,.xls等文件,但我总是无法成功。我尝试使用Gnumeric包,但R告诉我找不到所需的程序“ssconvert”。


你尝试安装ssconvert包了吗?https://mail.gnome.org/archives/gnumeric-list/2013-November/msg00022.html - philshem
1
我和提问者有完全相同的问题,但我无法安装ssconvert(没有这样的软件包?)。不幸的是,我不理解答案“R在错误的位置查找ssconvert”。我认为ssconvert是gnumeric的一部分? - Thomas
你使用的是哪个操作系统?“正确的位置”通常是指确保程序在你的“PATH”中,换句话说,可以被调用它的程序找到。在Linux上,在安装gnumeric后,它可以毫无问题地运行。 - FvD
3个回答

49
我写了一个叫做readODS的包,里面包含一个名为read.ods的函数,可以将ods文件转换成data.frames(每个表单一个data.frame)的列表。
该包现已在CRAN上发布,请参见这里
源代码和漏洞报告请参见https://github.com/chainsawriot/readODS

我们会尽快提供一个与 R 3.0.2 兼容的版本,您是否有这样的计划?运行 install.packages("readODS") 后,我收到了以下消息:“package ‘readODS’ is not available (for R version 3.0.2)”。 - Waldir Leoncio
我不知道如何将软件包添加到早期版本的 CRAN 中,也不知道如何检查我的软件包可以运行哪些版本。你能试着自己构建这个软件包吗?我找到的只有:http://cran.r-project.org/web/checks/check_results_readODS.html,并且它在那里通过了所有测试... 我已经向我的跟踪器添加了一个 bug 报告,但是我不确定该怎么处理它(https://github.com/phonixor/readODS/issues/14)。 - phonixor
2
也许你应该详细说明一下 read.odsread_ods 的区别;-) - MichaelChirico
1
根据您自己的文档,在1.6.2版本中,“read.ods”已被弃用,并由“read_ods”取代。 - Superbest
4
虽然最近进行了升级,但我测试了这个功能后发现它非常慢。除非作者采取措施加快阅读速度,否则我会寻找其他替代品。 - Adrian
显示剩余2条评论

2
我在Ubuntu Linux上遇到了完全相同的问题。解决方法非常明显:
sudo apt-get install gnumeric
恰好我有一堆过时的软件包,经过了一番更新。 gnumeric 库需要 XML 库,我的 XML 库安装在 2.14 上,而我的 R 无法加载任何在 3.0 之前构建的东西。我不认为这是你的问题,但如果上面的解决方案不起作用,也许你还可以检查一下你的软件包是否是最新的。我通过 sudo 安装的所有内容都必须通过 sudo 移除,否则我会得到权限错误。
“显然令人沮丧,因为错误信息是:

Error in read.gnumeric.sheet(file = fname, head = TRUE, sheet.name = "Sheet1") : Required program 'ssconvert' not found.

为了强调这一点,http://cran.at.r-project.org/web/packages/gnumeric/gnumeric.pdf上的软件包文档说:

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

如何获得ssconvert?同样,显而易见:它通常与gnumeric一起安装。进入命令行,键入ssconvert,它会提醒你:

user@Computer:~$ ssconvert
The program 'ssconvert' is currently not installed. You can install it by typing: sudo apt-get install gnumeric


我查了一下,ssconvert 不在依赖包中(比如 gnumeric-common),而是在 gnumeric 的主要软件包中,因此您需要安装完整的 gnumeric 软件包:

sudo apt-get install gnumeric


0

1
我也尝试了一下,R 告诉我: 错误:包‘ROpenOffice’需要依赖关系‘Rcompression’,但是该依赖关系在当前环境中无法使用。
  • 正在移除。
- Thomas
链接失效了吗? - Matifou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接