全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
839 3
2017-07-06
setwd("E:/jichushuju/yuebao")
Sys.setlocale("LC_ALL","Chinese")
library("XLConnect")
library("plyr")
path <- list.files("E:/jichushuju/yuebao/")
GDP <- lapply(path[1:15], readWorksheetFromFile, "综合—GDP",
                 header = TRUE, startCol = 1,
                 startRow = 2, endCol = 8,
                 endRow = 39)
add <- function(x) Reduce(rbind.fill, x)
GDP.all <- add(GDP)
write.csv(GDP.all,"GDP.csv")

# 以上程序表示循环从15个excel工作簿中读出名为“综合—GDP”这张表,并写到一张表中;
sheets <- c("综合—GDP","综合-财政收入","综合-财政支出","综合—新增市场主体",
            "产业发展——金融","对外开放-外资","对外开放-外贸","招商项目1","招商项目2")
                        
# 现在我需要从同样15张表中分别读入表名如上所述的9张表,并分别写到对应的表格中;

yuebao3 <- lapply(path[1:15], readWorksheetFromFile, sheets[1],
                 header = TRUE, startCol = 1,
                 startRow = 2, endCol = 8,
                 endRow = 39)
# 在循环外引用sheets[1],程序运行正常;

yuebao <- lapply(path[1:15], readWorksheetFromFile, sheets,
                       header = TRUE, startCol = 1,
                       startRow = 2, endCol = 8,
                       endRow = 39)
for (i in 2:length(sheets)){
  yuebao1 <- lapply(path[1:15], readWorksheetFromFile, sheets,
                 header = TRUE, startCol = 1,
                 startRow = 2, endCol = 8,
                 endRow = 39)
  yuebao <- list(yuebao,yuebao1)
}

# 运行这个循环时,总是提醒第二行出错“debug at #2: yuebao <- lapply(path[1:15], readWorksheetFromFile, sheets,
    header = TRUE, startCol = 1, startRow = 2, endCol = 8, endRow = 39)”

请教一下,怎么解决这个问题?
另外,能不能给一个同时合并多个excel表格更好的解决办法?
谢谢。
   
附件列表
二维码

扫码加我 拉你入群

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

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

全部回复
2017-7-6 17:14:55
你上传数据文件试试.
复制代码

这一段放上去,你的循环基本废了。每次yuebao都被你重新替换成了第一个sheets了
二维码

扫码加我 拉你入群

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

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

2017-7-6 17:24:56
jiangbeilu 发表于 2017-7-6 17:14
你上传数据文件试试.

这一段放上去,你的循环基本废了。每次yuebao都被你重新替换成了第一个sheets了
谢谢,您说的很对。但我把这一段放到循环外,仍不对。
数据涉及保密问题,不能上传哈。
我整理一个可以公开的文件再上传吧。
谢谢。
二维码

扫码加我 拉你入群

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

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

2017-7-6 17:25:01
jiangbeilu 发表于 2017-7-6 17:14
你上传数据文件试试.

这一段放上去,你的循环基本废了。每次yuebao都被你重新替换成了第一个sheets了
谢谢,您说的很对。但我把这一段放到循环外,仍不对。
数据涉及保密问题,不能上传哈。
我整理一个可以公开的文件再上传吧。
谢谢。
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群