簡體   English   中英

從一種格式讀取文件並在 R 中保存為 csv 格式

[英]Reading files from one format and saving as csv format in R

我是 R 新手。我想讀取 LAS 文件並執行一些操作並將結果保存為 .csv 文件,並使用以下代碼。 但是,輸出文件保存為輸入文件格式 (LAS)。 我真的很感激任何幫助。

library(lidR)

files <- list.files(path= "Input_path", pattern= "*.las", full.names = TRUE, recursive = FALSE)

O <- function(x) {
  las = readLAS(x, select = "xyz", filter = "keep_first -drop_z_below 0")
  data <- as.spatial(las)
  z <- data$Z
  q <- quantile(z, 0.99)
  data1 <- subset(data,data$Z <= q)
  return(data1)
 }

for (f in files) {
  print(f)
  data2 <- O(f)
  write.csv(data2, file = paste0("PATH/", basename(f)))
}

試試這個,文件名應該是 csv

write.csv(data2, file = paste0("PATH/",unlist(strsplit(basename(f),"[.]"))[1],".csv"))

編輯

如果文件名有“.” 名字中間,你可以用這個方法

for (f in files) {
  print(f)
  data2 <- O(f)
  s = unlist(strsplit(basename(f),"[.]"))
  filename <- paste0(paste0(s[1:length(s)-1], collapse = "."),".csv")
  write.csv(data2, file = paste0("PATH/", filename))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM