diff --git a/R/read_ext.R b/R/read_ext.R index 62740733..8db2175c 100644 --- a/R/read_ext.R +++ b/R/read_ext.R @@ -90,7 +90,15 @@ read_text <- function(file, colnames = NULL, method = "fread", if (all(grepl("^X[0-9]*", names(dt)))) stop("missing header: use 'header = FALSE' or an alternative read method", call. = F) - if(sum(grepl("^[0-9]{1,}$",colnames(dt))) > 4) { + #This is for the siMPle csv format. + if(sum(c("WaveNumber", "Raw spectrum", "1st derivative", "2nd derivative") %in% names(dt)) > 2){ + dt <- as.data.table(lapply(dt, as.numeric)) + wavenumbers <- dt[["WaveNumber"]] + spectra <- dt[,-"WaveNumber"] + os <- as_OpenSpecy(x = as.numeric(wavenumbers), spectra = spectra, + metadata = metadata) + } + else if(sum(grepl("^[0-9]{1,}$",colnames(dt))) > 4) { wavenumbers <- colnames(dt)[grepl("^[0-9]{1,}$",colnames(dt))] spectra <- transpose(dt[,wavenumbers, with = FALSE]) metadata_names <- colnames(dt)[!grepl("^[0-9]{1,}$",colnames(dt))]