3

我有一堆 Excel 文件,这些文件每天都会在 Windows 机器上更新。我将它们转移到一台 Ubuntu 机器上并想在那里打开它们。具体来说,我想将文件作为 R 下的数据库读取。

几年前,我在 Windows 机器下使用 ODBC 通过 R 打开 Excel 文件。有什么办法,我可以在 Ubuntu 下用 R 做到这一点吗?

我可以使用 OpenOffice 为相应的 XLS 文件创建一个数据库 .ODB 文件,但我不知道如何连接到 .ODB 数据库。OpenOffice 似乎有办法连接到数据库,但没有办法连接到 ODB。

感谢您提供任何潜在的解决方案。

4

4 回答 4

4

您也许可以使用xls2csv fromapt-get install catdoc将 Excel 文件转储为 CSV。然后你几乎可以选择你的毒药,了解它们是如何从那里处理的。read.csv.sql如果您想使用 SQL 语句提取信息,从sqldf包中提取信息可能非常方便。

于 2011-01-10T03:04:03.340 回答
2

我建议使用xlsx包,它没有特殊要求(如xlsReadWrite等),因此可以在 Linux 下轻松使用。虽然它只读取(和写入)xlsx 格式。

另一个方法可能是使用gdataread.xls包中的函数,它首先将 xls 文件转换为 csv,然后读取这些数据帧。你需要安装 Perl 和xls2csv,这在 Linux 下不是什么大问题。

于 2011-01-09T15:00:18.740 回答
2

您的 ODBC 解决方案应该可以在 Linux 上运行,前提是您安装了uniXODBC包(对于您的操作系统,unixODBC-devel如果正在编译,您可能还需要该包RODBC)和RODBCR 包。Gabor 在他对@daroczig 的回答的评论中提供的链接有一些关于 RODBC 的详细信息linux; 请注意关于这在 Linux 上是只读的以及潜在的困难设置的要点。

使用@daroczig 和 Gabor 建议的选项可能会更好,但如果您熟悉 ODBC,您可能也想在 Ubuntu 上尝试一下。

于 2011-01-09T16:27:08.170 回答
2

还有另一种解决方案 - 将您的数据托管在您的两台机器都可以访问的数据库中。如果您手头有现金,Postgres 或 MySQL 将不会花费您任何费用或 MS-SQL 服务器。您似乎正在尝试做的正是网络 RDBMS 的设计目的。您将能够在远程计算机上使用 Excel 和 R 中的数据。赢。

复制 Excel 文件是一个等待发生的巨大失败。给自己一个真正的 RDBMS。我会去Postgres。

于 2011-01-09T16:50:02.607 回答