Cómo dividir una hoja de cálculo CSV Excel enorme en archivos separados
Microsoft Excel es excelente en muchas tareas del día a día. Pero de vez en cuando, se encuentra con una de sus deficiencias: el tamaño de una hoja de cálculo. Siga leyendo para descubrir cómo hacer una hoja de cálculo de Excel más pequeña o dividir un archivo CSV grande en varios archivos.
¿Por qué dividir un CSV grande en varios archivos?
Quizás esté pensando, "¿Por qué tendría que dividir un archivo de Excel grande en varios archivos más pequeños?" Es una pregunta interesante, especialmente porque Excel tiene un límite de fila de hoja de cálculo de 1.048.576.
Más de 1 millón de filas suena fenomenal. Sin embargo, alcanzar el límite de filas es más fácil de lo que cree, especialmente durante ciertas tareas.
Por ejemplo, si realiza marketing por correo electrónico, puede importar un archivo CSV que contenga millones de direcciones de correo electrónico. El único problema es, ¿cómo se administra una hoja de cálculo con tantas direcciones? Además, ¿qué pasa si alguien le envía un CSV que ya está por encima del límite (de otro programa)?
Si eso suena como un problema que probablemente enfrentará, consulte las siguientes cinco formas de dividir un archivo CSV o Excel grande en varios archivos más pequeños.
¿No tienes un archivo CSV grande a la mano pero quieres seguir el juego en casa? Estoy usando el conjunto de datos de investigación abierta COVID-19 en los ejemplos, que también puede descargar y usar.
1. Divida archivos CSV con un programa
Existen varios programas de división de CSV útiles. Éstos son dos de los mejores. Sin embargo, una advertencia justa, ya que estos programas están funcionando, a veces tienen problemas de memoria, que es un problema común para los programas de división de CSV.
Divisor CSV enorme gratis
Free Huge CSV Splitter es una herramienta básica de división de CSV. Ingresa el archivo CSV que desea dividir, el recuento de líneas que desea usar y luego selecciona Dividir archivo . El recuento de líneas determina la cantidad de archivos de salida con los que termina.
Divisor CSV
CSV Splitter es la segunda herramienta. Ofrece la misma funcionalidad que Free Huge CSV Splitter, aunque con un diseño un poco más elegante. Divide su CSV en pequeños fragmentos rápidamente, lo que le permite determinar el recuento de líneas que desea utilizar.
2. Utilice un archivo por lotes
A continuación, cree un archivo por lotes programable . Puede utilizar un archivo por lotes para procesar el CSV en trozos más pequeños, personalizando el archivo para entregar diferentes trozos.
Abra un nuevo documento de texto, luego copie y pegue lo siguiente:
@echo off
setlocal ENABLEDELAYEDEXPANSION
REM Edit this value to change the name of the file that needs splitting. Include the extension.
SET BFN=HCAHPSHospital.csv
REM Edit this value to change the number of lines per file.
SET LPF=2500
REM Edit this value to change the name of each short file. It will be followed by a number indicating where it is in the list.
SET SFN=HosptialSplitFile
REM Do not change beyond this line.
SET SFX=%BFN:~-3%
SET /A LineNum=0
SET /A FileNum=1
For /F "delims==" %%l in (%BFN%) Do (
SET /A LineNum+=1
echo %%l >> %SFN%!FileNum!.%SFX%
if !LineNum! EQU !LPF! (
SET /A LineNum=0
SET /A FileNum+=1
)
)
endlocal
Pause
Deberá configurar el archivo por lotes antes de ejecutarlo. Le diré lo que hace cada comando y puede modificarlo para que se adapte al tamaño de su archivo por lotes, así como a la salida requerida.
- "SET BFN =" debe apuntar al CSV que necesita desglosar
- " SET LPF =" es el número de filas a las que le gustaría limitar su nuevo archivo
- "SET SFN =" es el nuevo esquema de nombres para sus archivos divididos
Una vez que haya ingresado sus variables, diríjase a Archivo> Guardar como . Elija un nombre de archivo y seleccione Guardar . Luego, seleccione su archivo de texto recién guardado y presione F2 para cambiarle el nombre. Reemplace la extensión .txt con .bat y presione OK cuando aparezca la advertencia. Ahora, puede dividir su archivo CSV grande en archivos de salida más pequeños.
3. Utilice un script de PowerShell para dividir un archivo CSV
Puede utilizar archivos por lotes para una amplia gama de tareas diarias . Pero los scripts de PowerShell son más rápidos, especialmente para este tipo de procesamiento y división.
La siguiente secuencia de comandos corta rápidamente su CSV grande en archivos más pequeños.
Primero, presione CTRL + X para abrir el menú de energía de Windows, luego seleccione PowerShell . Si PowerShell no es una opción, ingrese powershell en la barra de búsqueda del menú Inicio y seleccione la mejor coincidencia.
Ahora, copie y pegue el siguiente script:
$InputFilename = Get-Content 'C:filelocation'
$OutputFilenamePattern = 'output_done_'
$LineLimit = 50000
$line = 0
$i = 0
$file = 0
$start = 0
while ($line -le $InputFilename.Length) {
if ($i -eq $LineLimit -Or $line -eq $InputFilename.Length) {
$file++
$Filename = "$OutputFilenamePattern$file.csv"
$InputFilename[$start..($line-1)] | Out-File $Filename -Force
$start = $line;
$i = 0
Write-Host "$Filename"
}
$i++;
$line++
}
Reemplace la ubicación del archivo en la primera línea con su archivo CSV, luego ejecute el script. El script genera los archivos CSV más pequeños en su directorio de usuario. Por ejemplo, mis archivos CSV se encuentran en C: Users Gavin con el nombre de archivo output_done_1.csv . Puede cambiar el nombre de la salida modificando la línea $ OutputFilenamePattern = 'output_done_' .
Puede encontrar el guión original en SPJeff .
4. Divida un archivo CSV grande con Power Pivot
Su penúltima solución para dividir un archivo CSV grande en trozos pequeños en realidad no lo descompone. Más bien, le permite cargar su archivo CSV masivo en Excel y usar la herramienta Power Pivot para abrirlo. Así es; puede ignorar efectivamente el límite de líneas de Excel y administrar el archivo dentro del programa.
Esto se logra creando un enlace de datos al archivo CSV y luego usando Power Pivot para administrar el contenido. Para obtener una explicación completa y un tutorial, lea el blog de José Barreto que detalla el proceso.
En resumen, Barreto crea una tabla dinámica utilizando "hasta 8,5 millones de filas sin ningún problema". La imagen de arriba proviene de la publicación del blog, que muestra un total de 2 millones de filas en uso en Excel.
Recuerde, este proceso no divide el CSV en pequeños trozos. Sin embargo, sí significa que puede manipular el CSV en Excel, que es una alternativa muy útil. Si necesita más consejos, descubra cómo utilizar una tabla dinámica para el análisis de datos .
5. Divida en línea CSV grande con CSV dividido
También hay servicios en línea que dividen su archivo CSV grande en bits más pequeños. Una de esas opciones es Split CSV , un divisor CSV en línea gratuito.
Split CSV manejó bien el conjunto de datos COVID-19, dividiéndolo en prácticos trozos. Al igual que con otras herramientas, usted define el recuento de líneas para cada archivo y deja que lo divida. Sin embargo, no tenía un archivo CSV grande a mano para probarlo y, como tal, su experiencia puede variar.
Split CSV también incluye opciones premium. Por una tarifa de suscripción, puede usar un delimitador personalizado , elegir una selección de tipos de archivos de salida, eliminar ciertos caracteres de los archivos de salida y eliminar líneas duplicadas.
Divida sus archivos CSV en fragmentos fácilmente manejables
Ahora tiene cinco soluciones para dividir sus archivos CSV en pequeños bits, lo que los hace fáciles de administrar. Las soluciones varían en velocidad y tamaño de los archivos CSV que pueden administrar, por lo que es posible que deba experimentar para encontrar la solución que mejor se adapte a sus necesidades.
Crédito de la imagen: lucadp / Depositphotos