dividir un archivo csv grande

dividir un archivo csv grande

Tengo un game_data.csvarchivo con más de un millón de filas (70 MB de tamaño). Estoy escribiendo una aplicación que procesará el CSV y escribirá los datos CSV en una base de datos.

Mientras desarrollo la aplicación, me gustaría utilizar un CSV más pequeño, ¿qué comando de Linux puedo ejecutar que me tomará las primeras 1500 filas del CSV y las colocará en un archivo CSV separado subset_game_data.csv?

Estoy en Manjaro Linux (en caso de que eso importe).

Respuesta1

Si los datos no contienen nuevas líneas, esto se hace trivialmente con head -n 1500 game_data.csv > subset_game_data.csv.

Si los datoshacecontiene nuevas líneas, es necesario analizarlo correctamente. Utilice cualquier herramienta como Libreoffice Calc o un script en Python.csvkitpuede hacer el truco con algo como

csvsql --query "select * from data limit 1500" game_data.csv > subset_game_data.csv

información relacionada