Ho un file CSV da 12 GB. Spero di estrarre solo alcune colonne da questi dati e quindi scrivere un nuovo CSV che spero di poter caricare in R per l'analisi.Utilizzo di Python per analizzare un CSV da 12 GB
Il problema è che viene visualizzato un errore di memoria quando si tenta di caricare l'intero elenco in una sola volta prima di scrivere il nuovo file CSV. Come posso analizzare i dati riga per riga e quindi creare un output CSV?
Ecco quello che ho finora:
import pandas
colnames = ['contributor name', 'recipient name', 'recipient party', 'contributor cfscore', 'candidate cfscore', 'amount']
DATA = pandas.read_csv('pathname\filename.csv', names=colnames)
DATA.to_csv(''pathname\filename.csv', cols = colnames)
Hanno hai guardato csvkit? Non ho idea di come sia in termini di efficienza o velocità. http://csvkit.readthedocs.org/en/0.7.3/ – A5C1D2H2I1M1N2O1R2T1
Dove prendi quel file? – dawg
Prova gli [Strumenti di Google CRUSH] (https://code.google.com/p/crush-tools/). Quel set di strumenti ha una vasta gamma di routine di manipolazione dei dati che dovrebbero consentire di tagliare, tagliare e persino fare alcune aggregazioni preliminari per ottenere i dati in una dimensione più gestibile. Inoltre, se è possibile ottenere i dati in un semplice database, 'dplyr' potrebbe essere una scelta eccellente per il crunch dei dati poiché molto probabilmente non mangerà tutta la memoria. – hrbrmstr