如何根據 R 中的原始文件名將包含多個數據幀的大列表保存為單獨的 csv

兆字節

我讀了一個文件夾中的文件列表:

files <- list.files("E:new data/Depth and Temp")
allFiles.list <- lapply(files, read.table, sep = '\t')

然後將一組函數應用於已讀取的文件,這些文件工作正常:

load_file <- function(files) {
  tab_file <- read.table(files, header = TRUE)
  tab_file$Date.Time <- as_datetime(tab_file$Time)
  tab_file$Date.Time <- tab_file$Date.Time + hours(9)
  setnames(tab_file, old = c('External.Temperature','Corrected.Depth.Channel'), new = c('Temp','Depth'))
  
  tab_file
}

list_of_files = list.files(pattern="*.tab")

data <- lapply(X = list_of_files, FUN = load_file)

我現在有一個包含單個文件作為 R 中數據幀的大列表: 打印屏幕

但是我很難將它們保存為新文件。我希望新文件與以前的文件同名,但保存為 csv。

例如當前名稱:

144881.tab
144883_2.tab
156889.tab
156889_2.tab

我希望它們保存為:

144881.csv
144883_2.csv
156889.csv
156889_2.csv

我認為這會相對簡單(我確信確實如此)但經過幾個小時的互聯網搜索後,我仍然無法找到我要找的東西。

注意:我只提供了我的數據的一個小屏幕截圖(帶有 2 個示例),但是我在這個文件夾中有超過 25 個文件,所以我希望使用以前的文件名以避免必須手動重新輸入它們。先感謝您!

星期日

你可以試試:

   filenames <- list.files(pattern="*.tab")
    file_prefix <- filenames |> stringr::str_extract("[:graph:]{1,1000}(?=\\.)")
    names(data) <- file_prefix
    file_prefix |> purrr::map(~write.csv(x = data[[.x]], file = paste0(.x, ".csv")))

如果您有舊版本的 R,則可以使用 magrittrs%>%而不是|>.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何將數據幀轉換為 R 中的 csv 文件

將spark數據幀列表保存到pyspark中的多個csv文件

如何從 R 中的 2 個單獨數據幀的列中返回僅匹配值的數據幀?

無法將多個數據幀保存到單個 csv 中,只有最後一個 df 被保存

如何根據各自的數據框名稱 [R] 重命名多個列名稱(帶前綴)

Python:如何根據 CSV 中的列正確映射數據

根據行值python將大型csv文件拆分為多個文件

R:如何根據不同長度的另一個數據框中的成對值將一列添加到數據框中?

循環從 R 中的數據幀列表合併多個數據幀

如何根據R中的變量加權值?

如何根據r中的ecdf進行排名?

如何根據ID向R中的列添加值?

如何根據R中組的最大值聚合數據框

如何根據R中的行值對數據幀的一列進行混洗?

根據列的值將 Pandas 數據幀拆分為多個數據幀

如何使用 R/dplyr 根據標準加入?

使用 R 將數據框列表保存到一個包含許多工作表的 excel 中

從 csv 文件列表創建單個數據幀

在python中將多個數據幀導出到不同的csv

Python dict 包含數據幀,如何將它們分解為單獨的行

如何根據另一個數據框中的值替換數據框中的某些行,同時使用 R 保留順序?

R:如何根據向量中存在的名稱過濾命名列表?

根據 CSV 值移動文件

如何從R中的數據幀創建具有多個參數的函數列表?

如何在 R 中的單個數據幀上迭代應用函數?

如何將數據幀轉換為 R 中的數組?

將多個小數據幀連接為一個大數據幀

您能否根據 R 中的多個要求自動刪除數據框中的數據行?

在 R/dplyr 中按條件將數據幀轉換為列表