从Excel文件加载数据到R或八度

我有一个包含大量数据的Excel文件。 Excel中的内置graphics不足以分析这些数据,因此我正在考虑使用像八度或R这样的工具。

我正在考虑将Excel文件直接加载到八度或R中的方法。我search了网页,发现很多人通过将Excel中的数据导出到CSV文件中,从而成功地使用了这种方法。

问题:是否有直接的方式来加载R或八度的Excel文件?

是的, 这是如何 :

Windows用户可以在包RODBC中使用odbcConnectExcel。 这可以从Excel电子表格文件中的任何工作表中select行和列(至less从Excel 97-2003开始,具体取决于您的ODBC驱动程序:通过直接调用odbcConnect直接返回到Excel 3.0版本)。 odbcConnectExcel2007版本将读取Excel 2007格式以及早期版本(如果安装了驱动程序:请参阅RODBC)。

另一个(甚至是便携式)选项是在gdata包中的read.xls 。 它是跨平台的,因为它依赖于底层的Perl代码来parsing,读取…… xls文件中的数据,然后读取一个csv文件。 所需的Perl包都由gdata提供。

Octave软件包可以很容易地使用相同的技巧创build。

你的问题已经被回答了。 如果这有助于今后的情况,这些types的问题的真正有用的资源是R数据导入/导出文件 ,其中涵盖了许多有用的API,包,提示等等从一些常见的数据库和文件格式访问数据。

例如,有一个Excel部分 ,其中涵盖了已经提供的答案中的许多地方。

另一个有用的提示是尝试R帮助search系统。 例如,从R提示符中尝试以下任一操作:

 > ??xls > ??excel 

编辑:顺便说一句, ??xlshelp.search("xls")简称。

最简单的方法是将数据转换为CSV文件,然后使用read.csv()读取数据。 请注意,当您读入数据时,R会读取string并将其转换为因子。 当您尝试子集,数据等时,这可能成为一个问题。

或者,如果您想将其作为本机Excel文件读取,则可以使用RODBC软件包。

 library('RODBC') yourData <- sqlFetch(odbcConnectExcel("yourData.xls"), sqtable = "nameOfSheet", na.strings = "NA", as.is = TRUE) odbcCloseAll() 

更简单的Windows解决scheme是使用xlsReadWrite包。 无需Perl,只需安装为R包,您可以读取和写入Excel文件到您的心脏的内容。

现在我们可以使用read.csv或read.table。

例如

 df = read.csv("~/data/demo.csv",header = TRUE)