繁体   English   中英

将一列附加到多个 csv 文件,每行包含一个常量

[英]Appending a column to multiple csv files that contains a constant in each row

我正在尝试编写一个脚本,该脚本对包含 csv 文件列表的变量执行以下序列:

-读取每个 csv 文件

- 使用 header“维度类型”将列附加到每个 csv,其中新列中的每一行都包含第一列中 header 的名称

- 将第一列的 header 重命名为“Dimension”

-组合所有 csv 文件

-将组合的 csv 文件导出到 excel 文件

除了第一列的 header 是维度类型的名称之外,所有 csv 文件的结构都相同

我使用 list.files function 创建了包含 csv 文件列表的变量,并且我有我想要存储 excel 文件的目录存储在变量中。

像这样的东西会起作用吗? 因为我没有你的数据,所以我只是做了一些快速的数据集。 (编辑以包括将其与列表一起使用)

df1 <- data.frame(dtype1 = sample(letters, 25, replace = TRUE),
                 col1 = sample(1:10, 25, replace = TRUE),
                 col2 = sample(5000:10000, 25))

df2 <- data.frame(dtype2 = sample(letters, 25, replace = TRUE),
                  col1 = sample(1:10, 25, replace = TRUE),
                  col2 = sample(5000:10000, 25))

df.list <- list(df1,df2)

SO_function <- function(df){
  df$`Dimension Type` <- colnames(df)[1]
  colnames(df)[1] <- "Dimension"
  return(df)
}

# apply to list
df.list_want <- lapply(df.list, SO_function)

# or apply to individual df's
df1.want <- SO_function(df1)
df2.want <- SO_function(df2)


#> head(df1.want, 5)
#  Dimension col1 col2 Dimension Type
#1         t    7 5921         dtype1
#2         r    4 5772         dtype1
#3         d    1 6722         dtype1
#4         u    2 8750         dtype1
#5         f    2 9778         dtype1
#> head(df2.want, 5)

#  Dimension col1 col2 Dimension Type
#1         k    5 5882         dtype2
#2         c    8 6237         dtype2
#3         f    6 6484         dtype2
#4         d    4 8504         dtype2
#5         i    7 7022         dtype2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM