Python divide CSV en varios archivos
- Crear un archivo CSV en Python usando Pandas
- Dividir un archivo CSV en varios archivos en Python
- Conclusión

En este artículo, aprenderemos cómo dividir un archivo CSV en varios archivos en Python. Usaremos Pandas para crear un archivo CSV y dividirlo en varios otros archivos.
Crear un archivo CSV en Python usando Pandas
Para crear un CSV en Python usando Pandas, es obligatorio instalar primero Pandas a través de la interfaz de línea de comandos (CLI).
cliCopypip install pandas
Este comando descargará e instalará Pandas en su máquina local. Usando la palabra clave importar
, puede importarlo fácilmente a su programa Python actual.
Verifiquemos Pandas si está instalado o no.
Ejemplo de código:
pythonCopyimport pandas as pd
print("The Version of Pandas is: ", pd.__version__)
Producción :
textCopyThe Version of Pandas is: 1.3.5
Ahora, vamos a crear un archivo CSV
.
Ejemplo de código:
pythonCopyimport pandas as pd
# create a data set
data_dict = {
"Roll no": [1, 2, 3, 4, 5, 6, 7, 8],
"Gender": ["Male", "Female", "Female", "Male", "Male", "Female", "Male", "Female"],
"CGPA": [3.5, 3.3, 2.7, 3.8, 2.4, 2.1, 2.9, 3.9],
"English": [76, 77, 85, 91, 49, 86, 66, 98],
"Mathematics": [78, 87, 54, 65, 90, 59, 63, 89],
"Programming": [99, 45, 68, 85, 60, 39, 55, 88],
}
# create a data frame
data = pd.DataFrame(data_dict)
# convert the data frame into a csv file
data.to_csv("studesnts.csv")
# Print the output
print(data)
Producción :
textCopy Roll no Gender CGPA English Mathematics Programming
0 1 Male 3.5 76 78 99
1 2 Female 3.3 77 87 45
2 3 Female 2.7 85 54 68
3 4 Male 3.8 91 65 85
4 5 Male 2.4 49 90 60
5 6 Female 2.1 86 59 39
6 7 Male 2.9 66 63 55
7 8 Female 3.9 98 89 88
Dividir un archivo CSV en varios archivos en Python
Hemos creado con éxito un archivo CSV
. Dividámoslo en varios archivos, pero se podrían usar diferentes matrices para dividir un CSV en la base de columnas o filas.
Dividir un archivo CSV basado en filas
Dividamos un archivo CSV en la base de filas en Python.
Ejemplo de código:
pythonCopyimport pandas as pd
# read DataFrame
data = pd.read_csv("students.csv")
# number of csv files along with the row
k = 2
size = 4
for i in range(k):
df = data[size * i : size * (i + 1)]
df.to_csv(f"students{i+1}.csv", index=False)
file1 = pd.read_csv("students1.csv")
print(file1)
print("\n")
file2 = pd.read_csv("students2.csv")
print(file2)
Producción :
textCopy Roll no Gender CGPA English Mathematics Programming
0 1 Male 3.5 76 78 99
1 2 Female 3.3 77 87 45
2 3 Female 2.7 85 54 68
3 4 Male 3.8 91 65 85
Roll no Gender CGPA English Mathematics Programming
4 5 Male 2.4 49 90 60
5 6 Female 2.1 86 59 39
6 7 Male 2.9 66 63 55
7 8 Female 3.9 98 89 88
El código anterior ha dividido el archivo students.csv
en dos archivos múltiples, student1.csv
y student2.csv
. El archivo está separado por filas; las filas 0 a 3 se almacenan en student.csv
, y las filas 4 a 7 se almacenan en el archivo student2.csv
.
Dividir un archivo CSV basado en columnas
Podemos dividir cualquier archivo CSV basado en matrices de columnas con la ayuda de la función groupby()
. La función groupby()
pertenece a la biblioteca de Pandas y utiliza datos de grupo.
En este caso, estamos agrupando los datos de los estudiantes
en función del Género
.
Ejemplo de código:
pythonCopyimport pandas as pd
# read DataFrame
data = pd.read_csv("students.csv")
for (gender), group in data.groupby(["Gender"]):
group.to_csv(f"{gender} students.csv", index=False)
print(pd.read_csv("Male students.csv"))
print("\n")
print(pd.read_csv("Female students.csv"))
Producción :
textCopy Roll no Gender CGPA English Mathematics Programming
0 1 Male 3.5 76 78 99
1 4 Male 3.8 91 65 85
2 5 Male 2.4 49 90 60
3 7 Male 2.9 66 63 55
Roll no Gender CGPA English Mathematics Programming
0 2 Female 3.3 77 87 45
1 3 Female 2.7 85 54 68
2 6 Female 2.1 86 59 39
3 8 Female 3.9 98 89 88
Conclusión
La división de datos es una técnica de análisis de datos útil que ayuda a comprender y clasificar los datos de manera eficiente.
En este artículo, hemos discutido cómo crear un archivo CSV usando la biblioteca de Pandas. Además, hemos discutido las dos técnicas comunes de división de datos, división de datos por filas y por columnas.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn