使用 RODBC 读取具有多个标题的 Excel 文件

Posted

技术标签:

【中文标题】使用 RODBC 读取具有多个标题的 Excel 文件【英文标题】:Read Excel file with multiple headers using RODBC 【发布时间】:2013-05-20 17:39:32 【问题描述】:

我有一个非常精美的 Excel 文件,我从中提取了一些数据。有两层“柱头”,例如:

Date
Month Day Year
12    5   2012
12    6   2012
12    12   2012

其中月/日/年都嵌套在日期下。副标题足够清晰,我不需要名义上的顶行标题。但是,底行对于识别变量很有用。此外,当我使用 RODBC 连接阅读这些内容时,令我懊恼的是,我意识到第二行被视为数据元素并且与 XLS 模式中的标签不一致。任何字符变量都有一个准确的标题,但数值列返回第二个标题的缺失值,无论我从查询返回多少行。

> X <- sqlFetch(my.xls, 'this table')
> head(X)

Date F2 F3
NA   NA NA
12   5  2012
12   6  2012
12   12 2012

> X <- sqlQuery(my.xls, 'select top 1 * from "this table$"')
> X
NA NA NA

如何从第二个标题中获取这些文字值?

【问题讨论】:

我可能更容易使用 XLConnectxlsx 从 Excel 中提取这样的数据。 除了 Jorans 的评论之外,根据我的经验,XLConnect 比 xlsx 更易于使用且不易出错。特别是对于这里讨论的情况。 有点讨厌打包地狱,XLConnect 做到了。我认为这让事情变得容易多了。谢谢! 【参考方案1】:

XLConnect 能够提取相关信息。我认为这里的问题是 Window 的 ODBC 驱动程序无法处理 Excel 的一些临时灵活性,例如强制变量的列宽格式。对于这个不可靠的错误,这只是一个稻草人的论据。

【讨论】:

以上是关于使用 RODBC 读取具有多个标题的 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

R中用RODBC包读取excel数据

使用 Pandas 读取具有多个标题的 excel 表

读取包含多个表格的 excel 表格,表格的标题具有非白色背景单元格颜色

将R变量传递给具有多个条目的RODBC sql查询?

使用 RODBC 将公式写入 Excel 文件

无法从具有多个 SQL Server 版本的 SQL Server 读取 Excel 文件