¿Cómo puedo dividir un archivo CSV grande en archivos pequeños basados en registros comunes de Python?
Lo que quiero hacer:
Lo que quiero hacer es tener un gran archivo .csv. Quiero dividir este gran archivo csv en muchos archivos pequeños basados en los registros comunes en la columna BB que también contienen 1 en la columna HH, y todos los registros poco comunes que contienen 0 en la columna HH.
Como resultado, todos los archivos contendrán registros comunes en la columna BB que contienen 1 en la columna HH, y todos los registros poco comunes que no tienen registros en la columna BB y contendrán 0 en la columna HH. El nombre del archivo debe basarse en el registro común de la columna 2 (BB). Por favor, eche un vistazo a continuación para ver el escenario. Cualquier sugerencia es muy apreciada.
bigFile.csv:
AA BB CC DD EE FF GG HH
12 53 115 10 3 3 186 1
12 53 01e 23 3 2 1
12 53 0ce 65 1 3 1
12 53 173 73 4 2 1
12 59 115 0 3 3 186 1
12 59 125 0 3 3 186 1
12 61 01e 23 3 2 1
12 61 b6f 0 1 1 1
12 61 b1b 0 6 5 960 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
Mis archivos de resultados esperados serían los siguientes:
53.csv:
AA BB CC DD EE FF GG HH
12 53 115 10 3 3 186 1
12 53 01e 23 3 2 1
12 53 0ce 65 1 3 1
12 53 173 73 4 2 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
59.csv:
AA BB CC DD EE FF GG HH
12 59 115 0 3 3 186 1
12 59 125 0 3 3 186 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
61.csv:
AA BB CC DD EE FF GG HH
12 61 01e 23 3 2 1
12 61 b6f 0 1 1 1
12 61 b1b 0 6 5 960 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0