Ho tre file enormi, con solo 2 colonne e ho bisogno di entrambi. Voglio unirli in un unico file che posso quindi scrivere su un database SQLite.Un modo rapido per unire file enormi (> = 7 GB) in uno
Ho usato Python e ho completato il lavoro, ma ci sono voluti> 30 minuti e ho anche bloccato il mio sistema per 10 di questi. Mi stavo chiedendo se c'è un modo più veloce usando awk o qualsiasi altro strumento Unix. Anche un modo più veloce all'interno di Python sarebbe fantastico. Codice scritto sotto:
'''We have tweets of three months in 3 different files.
Combine them to a single file '''
import sys, os
data1 = open(sys.argv[1], 'r')
data2 = open(sys.argv[2], 'r')
data3 = open(sys.argv[3], 'r')
data4 = open(sys.argv[4], 'w')
for line in data1:
data4.write(line)
data1.close()
for line in data2:
data4.write(line)
data2.close()
for line in data3:
data4.write(line)
data3.close()
data4.close()
Perché non caricare i file in SQLite uno alla volta? – rjmunro
Ho pensato che questo richiederà un tempo uguale, se non più lungo. Più a lungo coz la seconda volta che lo faccio, deve accodare i dati esistenti e così, ho pensato che questo sarà ugualmente costoso, se non di più – crazyaboutliv
Solo un commento. Il tuo codice sarebbe più facile da leggere se avessi chiamato gli oggetti file input1, input2, input3 e output1. –