楼主: shenyunR
1134 5

[问答] R语言for循环单独输出保存每次结果 [推广有奖]

  • 0关注
  • 0粉丝

大专生

60%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.1153
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
270 点
帖子
23
精华
0
在线时间
70 小时
注册时间
2022-8-3
最后登录
2024-11-25

楼主
shenyunR 发表于 2022-8-9 17:07:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
目标描述:想要得到for遍历文件夹下所有文件的内容,并且为每一个文件的输出都保存一个excel文件。通俗一点就是遍历文件夹文件批量转换数据、转换格式等操作。
目前代码:
setwd('D:/Postgraduate_satistic2/Climate/year_Climate/china_isd_lite_2000')
getwd()
wenjian=list.files(getwd(),full.names = T)
head(wenjian)
row1=row_number(wenjian)
n=NULL
for (i in(1:length(wenjian))){b=wenjian[i]
mname=paste0(i,'.xls')
readwenjian=read.table(b,header =F)
a=c(n,readwenjian)
write.table(a,file='D:/Postgraduate_satistic2/Climate/year_Climate/mname.xls')
print(a)
}
问题描述:for循环当中每次遍历结果都是单独输出的,但是excel只有最后遍历当中的最后一次结果。

二维码

扫码加我 拉你入群

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

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

关键词:for循环 R语言 For

沙发
无用户名 学生认证  发表于 2022-8-9 23:23:38 来自手机
shenyunR 发表于 2022-8-9 17:07
目标描述:想要得到for遍历文件夹下所有文件的内容,并且为每一个文件的输出都保存一个excel文件。通俗一点 ...
文件命名写的不对,覆盖了,改成file=paste0(路径,mname),或者直接file=mname,去设置的路径里找
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
橙红的果士 学生认证  发表于 2022-8-10 09:25:11
文件名并没有随着循环动起来,因为你把本该变动的值放到了引号里
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

板凳
abelus 发表于 2022-8-10 11:16:31
  1. fls <- list.files()
  2. nms <- sprintf("fl_%03d.xlsx", 1:length(fls))
  3. map2(fls, function(fl, nm){
  4.     write_xlsx(read.table(fl), nm)
  5. })
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

报纸
shenyunR 发表于 2022-8-10 15:38:02
无用户名 发表于 2022-8-9 23:23
文件命名写的不对,覆盖了,改成file=paste0(路径,mname),或者直接file=mname,去设置的路径里找
非常感谢你的回答,目前已经解决

地板
shenyunR 发表于 2022-8-10 15:38:50
橙红的果士 发表于 2022-8-10 09:25
文件名并没有随着循环动起来,因为你把本该变动的值放到了引号里
是的,谢谢你的解答

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

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