Пропустить пустые файлы внутри zip-файлов - PullRequest
0 голосов
/ 13 марта 2020

Я читаю много файлов .csv в файле .zip со следующим кодом

for (i in unzip("data.zip", list = TRUE)) {
    read.csv(unz("data.zip", i))
}

Проблема в том, что некоторые файлы .csv пусты, что приводит к no lines available in input ошибка, которая вызывает прерывание выполнения l oop. Как я могу пропустить эти пустые файлы?

1 Ответ

1 голос
/ 14 марта 2020

Попробуйте это

flist <- unzip("data.zip", list=TRUE)

Теперь flist $ Length указывает длину каждого файла, например,

keep <- flist$Length > 100  # or some other value that indicates the file has no data

Теперь вы можете читать непустые и сохранять их в списке. :

AllFiles <- lapply(flist$Name[keep], read.csv)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...