Mi piacerebbe poter accedere a linee specifiche di un file CSV attraverso il lettore CSV. Ad esempio, la quarta linea. C'è un modo per farlo con il modulo csv reader di python?sottoscrizione di una riga specifica dal lettore csv di python?
risposta
Devi solo analizzare tutto il file CSV, quindi utilizzare l'indicizzazione di sequenziamento normale.
In caso contrario, si può fare qualcosa di simile
def my_filter(csv_file, lines):
for line_number, line in enumerate(csv_file):
if line_number in lines:
yield line
my_file = open("file.csv")
my_reader = csv.reader(my_filter(my_file, (3,)))
Si noti che non è possibile evitare l'analisi l'intero file, in un modo o in un altro, perché le linee sono di lunghezza variabile. Il conteggio delle righe avanza solo quando viene trovato un '\ n' e deve essere trovato in carattere carattere per carattere.
Inoltre, questo filtro non funzionerà se si dispone di caratteri di nuova riga all'interno di virgolette nel file csv - probabilmente è meglio analizzare l'intero file in un elenco e recuperare gli indici da lì, comunque:
my_file = open("file.csv")
my_reader = csv.reader(my_file)
my_line = list(my_reader)[3]
aggiornamento più importante: se avete bisogno di accesso casuale ai dati, che è troppo grande per entrare nella memoria, basti pensare dumping a un database SQL, invece. Ne risparmierà uno reinventando molte ruote.
- 1. lettore csv python, loop dalla seconda riga
- 2. Sovrascrittura di una riga specifica in un file CSV utilizzando il modulo CSV di Python
- 3. "Riga contiene byte NULL" nel lettore CSV (Python)
- 4. Specifica del tipo di dati nel lettore csv Pandas
- 5. Saltare più di una riga in Python csv
- 6. Il lettore csv di python può lasciare le virgolette?
- 7. Come leggere una singola riga di dati csv in Python?
- 8. Analizzatore/lettore CSV per C#?
- 9. Lettore C# CSV molto semplice
- 10. Rappresenta una gerarchia ad albero utilizzando un foglio di calcolo Excel per essere facilmente analizzato dal lettore CSV Python?
- 11. Come eseguire il ciclo di un intervallo specifico di righe con il lettore csv Python?
- 12. Python scrittura alla linea CSV per riga
- 13. Rimozione di una riga specifica in TableLayoutPanel
- 14. Python CSV errore: riga contiene byte NULL
- 15. È possibile solo iterare una volta tramite il lettore csv
- 16. CSV Python: rimuovere le virgolette dal valore
- 17. Creazione di un DataTable dal file CSV
- 18. come eliminare una riga specifica in codeigniter?
- 19. Scrittura di un elenco Python in una singola colonna CSV
- 20. R documenti di estrazione testo dal file CSV (una riga per documento)
- 21. Come cancellare la riga dal file di testo in Python?
- 22. Scrittura di un CSV dal framework Flask
- 23. Chiamata di una funzione PowerShell specifica dalla riga di comando
- 24. Lettura di una riga specifica di un file
- 25. Python: rimozione di voci CSV duplicate
- 26. Python 3.2 saltare una riga in csv.DictReader
- 27. Esiste una specifica di formato che emetterà una nuova riga specifica del sistema operativo?
- 28. ottenere una riga specifica da spark dataframe
- 29. Modifica la riga specifica di una tabella utilizzando l'id di quella riga
- 30. Scrivi su una riga specifica in PHP
di sicuro. il file è di gran lunga troppo grande per poter leggere l'intera cosa in memoria in una sola volta. Ho in programma di accedere a tutte le linee, ma ho anche bisogno di saltare il file e evitare di caricare tutto in una volta. – ahhh
COSÌ, la soluzione di filtro ti aiuterà - (a patto di non avere \ n all'interno dei valori letterali). Per l'accesso fuori servizio, la soluzione filtro può essere utilizzata per creare un elenco come nell'ultimo esempio. – jsbueno