楼主: zhangqun448448
713 3

[问答] 请哪位大神看看这个程序问题出在哪儿?谢谢 [推广有奖]

  • 10关注
  • 1粉丝

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
8592 个
通用积分
26.9326
学术水平
8 点
热心指数
16 点
信用等级
10 点
经验
4611 点
帖子
201
精华
0
在线时间
324 小时
注册时间
2009-7-21
最后登录
2021-11-18

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
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表格更好的解决办法?
谢谢。
   
月报台帐汇总.txt (1.79 KB)
二维码

扫码加我 拉你入群

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

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

关键词:Library Chinese Connect locale BRARY

月报台帐汇总.txt

1.8 KB

沙发
jiangbeilu 学生认证  发表于 2017-7-6 17:14:55 |只看作者 |坛友微信交流群
你上传数据文件试试.
  1. yuebao <- lapply(path[1:15], readWorksheetFromFile, sheets[1],
  2.                        header = TRUE, startCol = 1,
  3.                        startRow = 2, endCol = 8,
  4.                        endRow = 39)
复制代码

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

使用道具

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

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

使用道具

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

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

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-25 23:26