Когда я загружаю файлы .gz, содержащие файлы .nc4, из локальной базы данных в офисе, используя RCurl в R, файл кажется сжатым во время загрузки или когда я использую функцию save () в R.
Я провел сравнение между использованием моей программы R и командной строки.Используя командную строку, я могу загрузить файл .gz и разархивировать его, используя 7zip без проблем, а ncdf4 в R может прочитать файл.Допустим, файл .gz имеет размер X МБ, а файл .nc4 - Y МБ.
Используя мой сценарий R, загруженный файл .gz имеет размер меньше X МБ с файлом .gz.расширение.Когда я использую системную команду R, чтобы разархивировать его с помощью 7zip, он разархивирует файл без проблем, но теперь он имеет размер X МБ и идентичен исходному файлу .gz сверху (идентичен по размеру).Но теперь он больше не имеет расширения .gz.После разархивирования он теперь имеет размер Y МБ.Тем не менее, ncdf4 на R не может его прочитать.
Команды командной строки:
#While on sftp server...
get <filename>.gz
#The file is a proper .gz file of X MB size on my host machine
7z.exe e <filename>.gz
#The file is now a .nc4 file of Y MB size
file <- nc_open(<filename>) is successful
Код R
library("RCurl")
url <- paste0("<sftp server>, ".gz")
zippedFile <- paste0(<downloaded file name>, ".gz")
data <- getBinaryURL(url, userpwd = <credentials>, connecttimeout = 60)
save(data, file = zippedFile)
#The file is a proper .gz file of less than X MB size on my host machine
system("\"C:/Program Files/7-Zip/7z.exe\" e <filename>.gz", intern = T)
#The file is now X MB size on my host machine without the .gz extension
system("\"C:/Program Files/7-Zip/7z.exe\" e <filename>", intern = T)
#The file is decompressed successfully into Y MB size on my host
file <- nc_open(<filename>) fails
#Error: Error in R_nc4_open: NetCDF: Unknown file format
Я новичок в R, поэтому любойпомочь с пониманием того, как R или RCurl сжимает данные, было бы здорово!Я просмотрел бесчисленные источники и не нашел ответа.