楼主: JLOGAN
2529 9

[学习分享] R语言循环读入xls [推广有奖]

  • 3关注
  • 0粉丝

硕士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
24 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2830 点
帖子
87
精华
0
在线时间
97 小时
注册时间
2016-5-28
最后登录
2018-8-4

楼主
JLOGAN 发表于 2016-7-7 15:12:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
R语言如何for循环读入length(file)个.xls文件(file1...filen)

二维码

扫码加我 拉你入群

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

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

关键词:R语言 xls length for循环 file file 如何

回帖推荐

king64 发表于8楼  查看完整内容

if ( i==1 ) { library(RODBC) flnm

沙发
lyxxxz 发表于 2016-7-8 16:57:38
本人初学者   没玩儿过,你有多少上XLS文件啊  或者在什么情况下要用这个循环去读取

藤椅
jiangbeilu 学生认证  发表于 2016-7-9 10:38:37
用RODBC里的函数,去读xls或者readxls函数读吧,然后保存在list里面。
其实比较简单的是csv格式的。直接读取就可以了

板凳
JLOGAN 发表于 2016-7-10 11:59:08
jiangbeilu 发表于 2016-7-9 10:38
用RODBC里的函数,去读xls或者readxls函数读吧,然后保存在list里面。
其实比较简单的是csv格式的。直接读 ...
我基本上都用过,但是现在二十多个xls文件,想要用循环,所以求助帮忙给个循环的例子

报纸
ck9532 发表于 2016-7-10 12:24:03 来自手机
用lapply.

地板
king64 发表于 2016-7-11 10:22:13
先用dir()获取文件名
然后循环读取数据。
下面是大致的意思,你自己修改完善一下。

filenam <- dir( pathdata )
for (i in 1:length(filenam)){
     data <- read.table(filenam[i])
}
已有 1 人评分经验 论坛币 收起 理由
李会超 + 40 + 10 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 10   查看全部评分

7
JLOGAN 发表于 2016-7-12 11:37:11
king64 发表于 2016-7-11 10:22
先用dir()获取文件名
然后循环读取数据。
下面是大致的意思,你自己修改完善一下。
谢谢,但是,我想要在循环中读入每个表,然后rbind每个表,得到文件名后,定义一个函数:
readfiles <- function(filenames){
  SD <- odbcConnectExcel(filenames)
  SD1 <- sqlFetch(SD,"sheet")
}
选择所要的sheet,然后rbind每个sheet,如何把这两部分操作写入循环中

8
king64 发表于 2016-7-13 10:54:59
if ( i==1 ) {
    library(RODBC)
         flnm <- paste( pathdata,"/",filenam[ 1 ],sep="")
         con=odbcConnectExcel2007(flnm) ## 64 bit
         # con=odbcConnectExcel(flnm)  ## 32 bit
    }
      FD <- sqlFetch(con, paste( "FD",year[ i ],sep=""), max = 0)
      # max=5, only the first rows;  max=0, all rows
     if ( i==length( year ) ) {
     close(con) #colse ODBC
     }

取决于每个文件中表名的规律!
上例中表名分别为:FD1990,FD1991,FD1992,。。。,FD2015

9
king64 发表于 2016-7-13 11:06:22
你根据自己文件的特征,改造一下,加入rbind语句。

如果文件或表中数据量很大很大的话,使用rbind速度会很慢的!!

10
JLOGAN 发表于 2016-7-13 12:44:04
king64 发表于 2016-7-13 11:06
你根据自己文件的特征,改造一下,加入rbind语句。

如果文件或表中数据量很大很大的话,使用rbind速度会 ...
那一般用merge或者join?这两个更偏向于匹配吧

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 08:33