Ho un file CSV di dimensioni ~ 1 GB e, poiché il mio laptop è di configurazione di base, non riesco ad aprire il file in Excel o R. Ma per curiosità, mi piacerebbe avere il numero di righe nel file. Come posso farlo, se posso farlo davvero. Grazie in anticipo.È possibile ottenere il numero di righe in un file CSV senza aprirlo?
risposta
per Linux/Unix:
wc -l filename
Per Windows:
find /c /v "A String that is extremely unlikely to occur" filename
Non sono sicuro della sua efficienza, ma qui è un approccio di base R. Tramite una connessione file, count.fields()
conta il numero di campi per riga del file. Quindi, se prendiamo la lunghezza del risultato, teoricamente dovremmo finire con il numero di righe (righe) nel file.
length(count.fields(filename))
E se si dispone di una riga di intestazione, si può saltare con skip = 1
length(count.fields(filename, skip = 1))
Non ci sono altri argomenti che è possibile regolare per le vostre esigenze specifiche.
args(count.fields)
# function (file, sep = "", quote = "\"'", skip = 0, blank.lines.skip = TRUE,
# comment.char = "#")
# NULL
Vedere help(count.fields)
per ulteriori informazioni.
Aggiornamento: Non è male per quanto riguarda la velocità. L'ho appena testato su uno dei miei file di baseball che contiene 99846 righe.
nrow(data.table::fread("Batting.csv"))
# [1] 99846
system.time({ l <- length(count.fields("Batting.csv", skip = 1)) })
# user system elapsed
# 0.528 0.000 0.503
l
# [1] 99846
file.info("Batting.csv")$size
# [1] 6153740
Un'altra idea è quella di utilizzare data.table::fread()
di leggere la prima colonna solo, poi prendere il numero di righe. Questo sarebbe molto veloce.
system.time(nrow(fread("Batting.csv", select = 1L)))
# user system elapsed
# 0.063 0.000 0.063
Qui è qualcosa che ho usato:
testcon <- file("xyzfile.csv",open="r")
readsizeof <- 20000
nooflines <- 0
(while((linesread <- length(readLines(testcon,readsizeof))) > 0)
nooflines <- nooflines+linesread)
close(testcon)
nooflines
Partenza questo post per di più: https://www.r-bloggers.com/easy-way-of-determining-number-of-linesrecords-in-a-given-large-file-using-r/
- 1. Numero di righe in un file CSV
- 2. Questo è possibile per ottenere il numero totale di righe conta con il limite di compensazione
- 3. È possibile ottenere il separatore CSV da Thread.CurrentThread.CurrentCulture? (.NET)
- 4. Come creare un file con boost filesystem senza aprirlo
- 5. Numero di righe in csv.DictReader
- 6. Come ottenere "wc -l" per stampare solo il numero di righe senza nome file?
- 7. MySql ottenere il numero di righe
- 8. Node.js: conta il numero di righe in un file
- 9. Leggere un file csv con milioni di righe via java il più velocemente possibile
- 10. Eliminazione di righe con Python in un file CSV
- 11. E 'possibile ottenere un numero di versione dal file XAP
- 12. Driver di dispositivo Linux, è possibile ottenere il numero minore utilizzando un descrittore di file?
- 13. Come ottenere il numero di righe di un GridView?
- 14. lettura file csv senza
- 15. Come ottenere un file .csv in R?
- 16. È possibile ottenere il numero di telefono tramite Google oAuth2?
- 17. È possibile importare un file MX senza valutare il contenuto?
- 18. Come ottenere il numero di righe cancellate in PostgreSQL?
- 19. Come ottenere il numero di righe utilizzando SqlDataReader in C#
- 20. Ottenere il numero totale di righe in Entity Framework
- 21. È possibile solo iterare una volta tramite il lettore csv
- 22. Come ottenere il numero di righe nella tabella di Cassandra
- 23. Come ottenere il numero di righe interessate in sqlalchemy?
- 24. Posso ottenere un'intestazione CSV ma nessun numero di righe in PostgreSQL?
- 25. Zend_Db: come ottenere il numero di righe da una tabella?
- 26. Lettura di macro VBA (o vbaProject.bin) di un file Excel senza aprirlo in MS Excel
- 27. Trova il numero di colonne nel file csv
- 28. Unisci file CSV in un singolo file senza intestazioni ripetute
- 29. Matlab numero di righe nel file excel
- 30. Conteggio del numero di righe di una serie di file CSV
Forse solo 'wc -l yourfile.csv' da una riga di comando, o qualcosa del genere ? – joran
Se la dimensione del file è 1 GB, dovresti riuscire a importarlo. Ovviamente, non dovresti farlo con 'read.table' e gli amici. Usa 'fread' dal pacchetto data.table. – Roland
quindi stai dicendo che 'nrow (read.csv (" file.csv ", intestazione = T/F))' blocca R? E sì, 'fread' certamente ha preferito –