Вы можете попробовать прочитать данные в виде строки, затем изменить их (например, заменить все вкладки на один пробел, используя gsub
) и , затем прочитать их как data.frame:
# Read the csv as text, so we can run it through gsub
#
file_connection <- file("path_to_csv.csv")
text <- readLines(file_connection)
close(file_connection)
После прочтения содержимого файла в виде строки мы можем иметь дело с текстом «форматирование»
Не видя фактической необработанной строки, я не могу сказать, что вам нужно сделать здесь , но идея состоит в том, чтобы исправить структуру, используя gsub
:
Например: Здесь мы заменяем пробел в одном из столбцов на подчеркивания:
santized_names <- gsub("EC number", "EC_number", text, fixed=TRUE)
И затем заменяем один или несколько последующих пробелов или табуляций с запятой.
sanitized <- gsub("[ \t]+", ",", santized_names)
После того, как все исправление сделано и содержимое выглядит правильно, мы соединяем строку обратно, добавляя символ новой строки после каждого элемента
sanitized <- paste0(sanitized, collapse="\n")
Полученную строку можно прочитать, как если бы она была содержимым .csv, используя аргумент text
df <- read.csv(text=sanitized)