首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >作为R数据帧中合法列的文件名

作为R数据帧中合法列的文件名
EN

Stack Overflow用户
提问于 2018-04-03 17:49:35
回答 1查看 717关注 0票数 0

我将文件夹中所有XLS文件中的一个工作表组合到一个数据框架中&显示来自所有数据帧的特定范围,这很好。但是,我想将文件名添加为实际的列,它现在不起作用-它显示为行而不添加列。

截图也许能让我更有意义。您可以看到第2列有标题,但第1列没有,所以如果我添加导出到Excel等的功能,那么该列将丢失。

代码:

代码语言:javascript
运行
复制
#library
library(readxl)
library(plyr)

#define path
# setwd
my_path <- file.path("C:", "File", "Path")
setwd(my_path)

# list all files in the directory
data.files = list.files()

# list all files in the directory ending with .xls
wb <- list.files(pattern = "*.xls")

# create an empty list
dflist <- list()

# populate dflist with wb
for (i in wb){
  dflist[[i]] = data.frame(read_excel(i, sheet = "Sheet1", range = "C15:D16", col_names = FALSE, row.names(data.files)))
}

#create final data frame, bind dflist
OBJDList = do.call(what = rbind, args = dflist)
EN

Stack Overflow用户

回答已采纳

发布于 2018-04-05 13:02:19

我让它开始工作了。文件名是第一列,我将范围缩小为一个单元格,因为我需要的其他内容都在文件名本身中。

代码语言:javascript
运行
复制
#library
library(readxl)
library(plyr)
library(xlsx)
library(data.table)

#define path
my_path <- file.path("G:", "your", "path")
setwd(my_path)

# list all files in the directory
data.files = list.files()

# list all files in the directory ending with .xls
wb <- list.files(pattern = "*.xls")

# create an empty list
dflist <- list()

# populate dflist with wb
for (i in wb){
  dflist[[i]] = data.frame(read_excel(i, sheet = "sheet1", range = "D16", col_names = FALSE, row.names(data.files)))
}



#create final data frame, bind dflist
OBJDList = do.call(what = rbind, args = dflist)

setDT(OBJDList, keep.rownames = TRUE)[]

OBJDList

print(OBJDList)

write.xlsx(OBJDList, file = "G:/your path/yourfile.xlsx",
           sheetName = "Sheet1", append = FALSE)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49636288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档