r - 将多个 .csv 文件合并为一个

标签 r csv rbind read.csv do.call

这个问题在这里已经有了答案:





How to import multiple .csv files at once?

(15 个回答)


3年前关闭。




我知道这个问题已被多次询问,但尽管尝试应用上述解决方案,我还是无法解决我的小问题:

我已经保存了我打算合并到一个文件夹中的所有 .csv:

> file_list <- list.files()
> file_list[]
[1] "SR-einfam.csv"           "SR-garage.csv"           "SR-hotel.csv"           
[4] "SR-IndustrieGewerbe.csv" "SR-mehrfam.csv"          "SR-OffG.csv"  

我用的是 do.call tio 将它们全部合并。请注意,所有文件都具有相同的格式。
sr.master <- do.call("rbind", lapply(file_list, read.csv,  sep = ";", header = TRUE)) 
names(sr.master)
str(sr.master)

但是在检查我的结果文件后,我意识到只有第一个文件被导入。 是什么导致了这个问题?
> str(sr.master)
'data.frame':   1941 obs. of  8 variables:
 $ Berechnung: Factor w/ 51 levels "Berechnung 1",..: 51 1 12 23 34 45 47 48 49 50 ...
 $ Situation : Factor w/ 13 levels "Nach Massnahme 0",..: 6 6 6 6 6 6 6 6 6 6 ...
 $ Sachrisiko: num  1857 1857 1857 1337 1342 ...
 $ PID       : int  2844 2844 2844 2844 2844 2844 2844 2844 2844 2844 ...
 $ Case      : int  1 1 1 1 1 1 1 1 1 1 ...
 $ Differenz : num  0 0 0 -28 -27.7 ...
 $ Prozess   : Factor w/ 1 level "Murgang": 1 1 1 1 1 1 1 1 1 1 ...
 $ Objektart : Factor w/ 1 level "Einfamilienhaus": 1 1 1 1 1 1 1 1 1 1 ...

最佳答案

# Get file list
  file_list <- list.files()

# Read all csv files in the folder and create a list of dataframes
  ldf <- lapply(file_list , read.csv)

# Combine each dataframe in the list into a single dataframe
  df.final <- do.call("rbind", ldf)

关于r - 将多个 .csv 文件合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44329362/

相关文章:

c# - 读取包含货币的逗号分隔 CSV

php - 如何在codeigniter中点击链接下载文本文件

python - 如何在Python中从csv文件中提取行并将其复制到另一个csv文件?

r - Foreach combine error, rbind all variables should have the same length...但他们这样做 [R]

r - 使用rbind将多个.csv文件加载到R中的单个数据帧中的函数有什么问题?

r - 在嵌套的 tibble R 中重命名数据列时,取消引用无法在 mutate 和 map2 中找到变量

r - 如何按 r 中特定分组变量级别的特定顺序排列数据行

r - 如何跨 data.frame 列应用函数?

Rbind R 中的两个向量

c++ - 使用 Armadillo 根据行索引和列索引从矩阵中提取元素