È abbastanza comune che i programmi della GUI non siano in grado di gestire file di testo di grandi dimensioni. Anche se 40 MB non sembrano grandi per quanto riguarda gli standard odierni, ma questo potrebbe aumentare di molto di più in memoria a seconda di come è scritta l'applicazione. E le applicazioni GUI spesso non sono le più efficienti.
Potresti voler dividere il file di testo in più di uno più piccolo usando il terminale. Innanzitutto, controlla se puoi aprire il file utilizzando less filename.csv
nel Terminale e se i caratteri leggono bene. In caso contrario, il file potrebbe essere danneggiato e questo potrebbe essere il problema.
Per la divisione acutale, prova a utilizzare qualcosa di simile sul terminale:
#!/bin/bash
N=10000 # Number of lines per file
i=1
j=0
filename="hugefile.csv"
extension=.csv
while [ $i -le $(wc -l $filename|awk '{print $1}') ]
do
newfilename="$(basename $filename $extension)$j$extension"
echo $newfilename: $i
sed -n $i,$((i+$N))p $filename > $newfilename
j=$((j+1)); i=$((i+$N))
done
Copia e incolla questo in un documento di testo semplice (ad es. TextEdit in modalità testo normale o nano sul Terminale) e chiamalo split.sh
o qualcosa di simile. Personalizza i parametri N
e filename
come necessario, ad es. inserisci il numero desiderato di numeri per file in N=...
e il nome file del tuo file di origine come filename="..."
. Ciò genererà la quantità necessaria di file nella directory corrente per coprire tutte le righe dei file di origine in file più piccoli di N
righe ciascuno. I file avranno un numero aggiunto, ad es. hugefile0.txt
a hugefile9.txt
o qualcosa del genere.
Ora dovresti essere in grado di aprire ognuno di questi file nell'applicazione desiderata. Spesso è preferibile lavorare con porzioni più piccole di un file di grandi dimensioni rispetto all'intero file in una sola volta. È anche possibile aprire i file CSV risultanti in Numbers uno dopo l'altro e copiare le righe da ciascun file in un unico grande documento di Numbers. In questo modo probabilmente l'importatore non si bloccherà su un file così grande.
In caso di errori relativi a sed
o awk
, è perché Mac sed
e awk
sono diversi dal normale sed
o awk
. In tal caso, potresti dover installare sed
e awk
regolari da qualcosa come Macports o Homebrew.