'un son satırını atlayarak kullanıyorum Yüzlerce .csv dosyasına sahibim. Fread'i kullanarak okumam ve tek bir veri tablosu olarak kaydetmem gerekiyor. Temel yapı her bir .csv için aynıdır. Atlanması gereken başlık bilgisi var (skip = kullanımı kolay). Her bir .csv dosyasının son satırını atlamakta zorluk yaşıyorum. Her bir .csv dosyasının farklı sayıda satırı vardır. Ben Testi klasöründe yalnızca bir dosya varsaR data.table: dosyadaki tüm .csv dosyalarındaki fread kullanarak her
, bu komut dosyası mükemmel (= nrows kullanarak) (= atlama kullanarak) ve son satır ilk satırları atlar:
file <- list.files("Q:/Test/", full.names=TRUE)
all <- fread(file, skip = 7, select = c(1:7,9),
nrows = length(readLines(file))-9)
birden fazla dosya kaydetme deney klasör, bu denedim kod şudur: O L yaratmaz
file <- list.files("Q:/Test/", full.names=TRUE)
L <- lapply(file, fread, skip = 7, select = c(1:7,9),
nrows = length(readLines(file))-9)
dt <- rbindlist(L)
ve bana bu hata veriyor:
Error in file(con, "r") : invalid 'description' argument
Her .csv'nin farklı sayıda satırı olduğunda her bir .csv'nin son satırını nasıl atlayacağınız hakkında herhangi bir fikir var mı?
Data.table sürüm 1.9.6 kullanıyorum. Teşekkürler.
Çok fazla çaba harcayan 'readLines' kullanmayın. Buradaki yaklaşımı deneyin: http://stackoverflow.com/questions/3137094/how-to-count-lines-in-a-document – MichaelChirico
Belki 'nrow', dosyanın altından satırları atlamak için negatif bir değer kullanabilir. Dosyalanmış [# 1643] (https://github.com/Rdatatable/data.table/issues/1643). – Arun
Belki de '-n-1' kafası doğrudan 'fread'e geçmiştir. Veya bir dipnot metnini kaldırmak için bir grep -v'. [Bu yeni sayfanın] 1. bölümüne bakın (https://github.com/Rdatatable/data.table/wiki/Convenience-features-of-fread). –