Es bastante común que los programas de GUI no puedan manejar archivos de texto grandes. Aunque 40MB no suena grande según los estándares actuales, puede hincharse mucho más en memoria dependiendo de cómo esté escrita la aplicación. Y las aplicaciones de GUI a menudo no son las más eficientes.
Puede que desees dividir el archivo de texto en varios más pequeños usando la terminal. Primero, verifica si puedes abrir el archivo usando less filename.csv
en la Terminal, y si los caracteres se leen bien. Si no, es posible que el archivo esté dañado y ese podría ser el problema.
Para la división real, intenta usar algo como esto en la terminal:
#!/bin/bash
N=10000 # Número de líneas por archivo
i=1
j=0
filename="hugefile.csv"
extensión=.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 y pega eso en un documento de texto plano (por ejemplo, TextEdit en modo de texto plano o nano en la Terminal) y llámalo split.sh
o algo similar. Personaliza los parámetros N
y filename
según sea necesario. Por ejemplo, ingresa el número deseado de líneas por archivo en N=...
y el nombre de tu archivo fuente como filename="..."
. Esto generará la cantidad necesaria de archivos en tu directorio actual para cubrir todas las líneas de los archivos fuente en archivos más pequeños de N
líneas cada uno. Los archivos tendrán un número agregado, por ejemplo, hugefile0.txt
a hugefile9.txt
o algo así.
Ahora deberías poder abrir cada uno de estos archivos en tu aplicación deseada. A menudo es deseable trabajar con porciones más pequeñas de un archivo grande que con el archivo completo de una vez. Incluso podrías abrir los archivos CSV resultantes en Numbers uno tras otro y copiar las líneas de cada archivo en un único documento grande de Numbers. De esa manera, es probable que el importador no se quede atascado en un archivo tan grande.
En caso de que recibas algún error relacionado con sed
o awk
, eso es porque el sed
y el awk
de Mac son diferentes a los regulares sed
o awk
. En ese caso, es posible que necesites instalar sed
y awk
regulares desde algo como macports o homebrew.
3 votos
¿Cuántas líneas tiene (ejecute
wc -l FILE.csv
en Terminal para verificar)? ¿Qué pasa si intenta abrirlo en Textedit?1 votos
¿Hay alguna razón por la que quieres abrirlo con un editor específico? Los editores varían en su capacidad para manejar un archivo voluminoso en memoria. Por lo general, veo tiempos de carga más rápidos con Sublime Text.app en comparación con TextEdit.app, por ejemplo.
1 votos
También, sería útil si pudieras compartir la configuración de tu sistema. Quizás el sistema no tiene suficiente memoria para cargar el archivo CSV correctamente.
0 votos
Sé que lo estoy intentando con un editor de texto, y 40 megabytes parece razonable
0 votos
El sistema tiene 16 gigas de RAM.
0 votos
No parece haber razón para que el archivo no se cargue. Intente mirar el contenido del archivo ejecutando
menos archivo.csv
y vea si puede leer los caracteres correctamente. Intente abrir el archivo nuevamente con TextEdit.app después de reiniciar.0 votos
Me he encontrado con situaciones en las que algunas aplicaciones no cargan archivos GRANDES. He tenido suerte abriendo archivos grandes así en BBEdit, donde textedit simplemente se ahogaría.
0 votos
Esperen chicos, ¿debería poner un enlace a Google Drive, sería de ayuda?
0 votos
Ejecuta
cat file.csv
en la terminal.0 votos
¿Puedes darnos un archivo descargable? editado en pregunta