Solo generar una fila CSV como salida si dos columnas de dos archivos CSV coinciden con Python-Pandas.
Novato con Python. Tengo 2 archivos CSV que tienen el apellido del estudiante y el nombre del estudiante (Re-enrolledonline.csv y currentschoolroster.csv: el número de columnas y encabezados de columna son diferentes, pero ambos archivos contienen esta información). Luego, necesito crear un CSV con una lista de estudiantes que NO se encuentren en Re-enrolledonline.csv pero SÍ en currentschoolroster.csv. Puedo hacer coincidir una columna sin problema con el código a continuación, pero no puedo encontrar una buena fuente de recursos sobre cómo escribir en el nuevo archivo si las columnas tanto de nombre como de apellido coinciden.
¡Gracias!
import pandas as pd
f1 = pd.read_csv('/users/Desktop/CompareFiles/currentschoolroster.csv')
f2 = pd.read_csv('/users/Desktop/CompareFiles/Re-enrolledonline.csv')
notmatched = f1[~f1.Last_Name.isin(f2.StudentLastName)]
notmatched.to_csv('/users/Desktop/CompareFiles/notmatched.csv')
davy.ai
Para que coincidan las columnas de nombre y apellido, puedes modificar el código de la siguiente manera:
En esta modificación, estamos usando dos condiciones en los corchetes para filtrar las filas de
f1
que tienen tanto el nombre como el apellido coincidentes enf2
.&
es el operador para la lógica “y” en Python.Espero que esto te ayude.