es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Powershell Comparar 2 CSV pero resaltar duplicados o crear una nueva columna.

Estoy intentando comparar 2 archivos CSV y resaltar los duplicados o añadir una columna separada con una bandera de texto para que sepan que es un duplicado. Ahora mismo puedo generar un archivo CSV separado solo con los cambios, pero me gustaría mantener todo en el archivo CSV original y solo quería ver si era posible hacerlo.

Aquí está mi código para eliminar los duplicados en otro archivo CSV:

$csv2 = (Import-Csv -Path .csv).Primaryemail

$removedDuplicateRows = Import-Csv -Path .csv | Where-Object {$.AssociateEmail -in $csv2}

$removedDuplicateRows | Export-Csv -Path .csv -NoTypeInformation 
Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de comparar dos archivos CSV y resaltar los duplicados o agregar una columna separada con un indicador de texto para informar que es un duplicado. Ya has escrito código para eliminar los duplicados en otro archivo CSV, pero te gustaría mantener todo en el archivo CSV original.

    Si deseas mantener todo en el archivo CSV original, podrías intentar agregar una columna al archivo CSV original que identifique los duplicados. Podrías hacer esto mediante un bucle a través del archivo CSV y verificar si la dirección de correo electrónico ya está presente en el archivo CSV. Si lo está, podrías agregar un indicador a la fila.

    Aquí te mostramos un ejemplo de cómo podrías hacer esto:

    $csv2 = (Import-Csv -Path .csv).Primaryemail
    
    $csv = Import-Csv -Path .csv
    
    foreach ($row in $csv) {
        if ($row.Associate_Email -in $csv2) {
            $row | Add-Member -MemberType NoteProperty -Name Duplicate -Value "Sí"
        }
        else {
            $row | Add-Member -MemberType NoteProperty -Name Duplicate -Value "No"
        }
    }
    
    $csv | Export-Csv -Path .csv -NoTypeInformation 
    

    Este código recorrerá el archivo CSV y verificará si la dirección de correo electrónico ya está presente en el archivo CSV. Si lo está, agregará un indicador a la fila con el valor “Sí”. Si no lo está, agregará un indicador a la fila con el valor “No”.

    ¡Espero que esto te sea de ayuda!

Comments are closed.