楼主: tylerma3223
11658 8

[问答] 如何才能拿R读取Excel文件? [推广有奖]

  • 0关注
  • 16粉丝

已卖:4976份资源

教授

3%

还不是VIP/贵宾

-

威望
1
论坛币
222362 个
通用积分
6.5552
学术水平
42 点
热心指数
72 点
信用等级
44 点
经验
19872 点
帖子
512
精华
0
在线时间
925 小时
注册时间
2013-1-28
最后登录
2023-11-29

楼主
tylerma3223 学生认证  发表于 2015-12-4 21:45:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我尝试了许多方法,都失败了。
其中包含这个帖子的内容。
http://www.dataguru.cn/article-2509-1.html
方案1:

                install.packages("RODBC")                 library(RODBC)                                                   
                SSEC_Data <- odbcConnectExcel('CH-01-05.xls')                     
                SSEC <-sqlFetch(SSEC_Data, 'SSEC')                                
                SSEC_shjc <- sqlFetch(SSEC_Data, 'SSEC-600009')                  
                SSEC_scgf <- sqlFetch(SSEC_Data, 'SSEC-600008')                  
                SSEC_zggm <- sqlFetch(SSEC_Data, 'SSEC-600007')                  
                close(SSEC_Data)
                detach(package:RODBC)

失败了,失败原因说 : odbcConnectExcel is only usable with 32-bit Windows
方案2:
                install.packages("XLConnect")
                library("XLConnect")

                install.packages("XLConnectJars")
                library("XLConnectJars")


也都失败了,错误提示为:
                Error : loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
                  调用: fun(libname, pkgname)
                  错误: JAVA_HOME cannot be determined from the Registry
                Error: ‘XLConnectJars’程辑包或名字空间载入失败,


请问这到底是怎么回事? 高手请帮忙!谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL xcel exce cel Packages Excel 如何

回帖推荐

jiangbeilu 发表于3楼  查看完整内容

可参考以下链接: https://bbs.pinggu.org/thread-3600983-1-1.html

沙发
ヾ過去式°ο° 学生认证  发表于 2015-12-4 22:49:48
R中有xlsx包
使用方式:library(xlsx)
               workbook <- "xxx"(文件路径)
               data <- read.xlsx(workbook)
               

藤椅
jiangbeilu 学生认证  发表于 2015-12-5 09:27:30

板凳
tylerma3223 学生认证  发表于 2015-12-5 16:45:57
ヾ過去式°ο° 发表于 2015-12-4 22:49
R中有xlsx包
使用方式:library(xlsx)
               workbook
这个方法也不行,错误如下。

> file <- system.file("tests", "test_import.xlsx", package = "xlsx")
> res <- read.xlsx(file, 1)  # read first sheet
Error: could not find function "read.xlsx"
> head(res)
Error in head(res) : object 'res' not found
> library(xlsx)
载入需要的程辑包:rJava
Error : loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: fun(libname, pkgname)
  错误: JAVA_HOME cannot be determined from the Registry
Error: 无法载入程辑包‘rJava’
> file <- system.file("tests", "test_import.xlsx", package = "xlsx")
> res <- read.xlsx(file, 1)  # read first sheet
Error: could not find function "read.xlsx"
> head(res)
Error in head(res) : object 'res' not found
> library("xlsx", lib.loc="D:/Program Files/R/R-3.2.2/library")
载入需要的程辑包:rJava
Error : loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: fun(libname, pkgname)
  错误: JAVA_HOME cannot be determined from the Registry
Error: 无法载入程辑包‘rJava’
> library("rJava", lib.loc="D:/Program Files/R/R-3.2.2/library")
Error : loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: fun(libname, pkgname)
  错误: JAVA_HOME cannot be determined from the Registry
Error: ‘rJava’程辑包或名字空间载入失败,
> library(xlsx)
载入需要的程辑包:rJava
Error : loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: fun(libname, pkgname)
  错误: JAVA_HOME cannot be determined from the Registry
Error: 无法载入程辑包‘rJava’
> file <- system.file("tests", "test_import.xlsx", package = "xlsx")
> ??read.csv
> getwd()

报纸
tylerma3223 学生认证  发表于 2015-12-5 18:10:39
jiangbeilu 发表于 2015-12-5 09:27
可参考以下链接:
https://bbs.pinggu.org/thread-3600983-1-1.html
Perfect,非常感谢这位专家! 必须把Java和R安装到同一个目录才能行!

地板
lihaozhen321 学生认证  发表于 2015-12-5 18:35:00
感觉导入txt直接读取更简洁

7
ヾ過去式°ο° 学生认证  发表于 2015-12-5 20:30:15
tylerma3223 发表于 2015-12-5 16:45
这个方法也不行,错误如下。

> file  res  head(res)
还需要安装rJava包

8
sdcplzy_2009 学生认证  发表于 2016-9-18 00:04:30
SSEC_Data <- odbcConnectExcel('CH-01-05.xls')      改为SSEC_Data <- odbcConnectExcel2007('CH-01-05.xls') 即可

9
nkotbs 发表于 2016-9-18 00:49:28
try haven

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 09:17