首页 > 解决方案 > 如何将 PBM 等光栅图像转换为 CSV 文件?

问题描述

我正在尝试将 PBM 文件类型中的光栅图像转换为 CSV 文件。

我试过这个:

setwd("~/Desktop/")
directory <- "test.pbm"
ndirectory <- "test.csv"

file_name <- list.files(directory, pattern = ".pbm")

files.to.read <- paste(directory, file_name) 
files.to.write <- paste(ndirectory, paste(sub(".pbm","", 
file_name),".csv"))

for (i in 1:length(files.to.read)) {
  temp <- (read.csv(files.to.read[i], header = TRUE, skip = 11, 
  fill = TRUE))
  write.csv(temp, file = files.to.write[i])
}

但我收到错误“没有这样的文件或目录”,但该文件肯定在我的桌面目录中。我是否过于复杂了,或者有人对我如何前进有任何建议吗?

标签: rcsvraster

解决方案


您可以通过设置 path 和 full.names 标志来获取 src 文件的绝对路径。然后将“.pbm”替换为“.csv”以轻松获取目标文件名。

尝试这个。

src_files <- list.files(path="~/Desktop/",pattern = ".pbm", full.names = TRUE)
dest_files <- sub(".pbm", ".csv", src_files)
for (i in 1:length(src_files)) {
  temp <- (read.csv(src_files[i], header = TRUE, skip = 11, fill = TRUE))
  write.csv(temp, file = dest_files[i])
}

推荐阅读