Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/01/2014, 20:58
Avatar de reborn
reborn
 
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Cómo desduplicar registros desde un .csv?

Cita:
Iniciado por Patriarka Ver Mensaje
y es muy sencillo , armas un array con todos los registros,
luego haces array_unique para que limpie los repetidos y escribis nuevamente el csv con los resgistros desduplicados , jajaja que palabra te inventaste he!
Yo tengo el archivo csv de la forma campo1;campo2 pero necesito desduplicar campo1 solamente, entonces hago un explode.

No se como hacer para comprobar si se repite ese campo y luego volver a unirlo para q vuelva a quedar de la forma campo1;campo2

Estaba por probar con algo asi pero me pierdo con las funciones de fopen y demas, no las use nunca
Código PHP:
$filename "archivo.csv";
$file fopen($filename"r");
$read fread($filefilesize($filename));

$split array_unique(explode(";"$read));

fclose($file);

$filename2 "archivo_nuevo.csv";

$file2 fopen($filename2"a");

foreach(
$split as $key=>$value) {
    if(
$value != "") {
        
fwrite($file2$value "\n");
    }
}

fclose($file2); 
...no se como recorrer el csv y decir: si existe campo1, no agrego nada, pero si no existe vuelvo a unir la linea campo1;campo2 y la escribo en otro archivo csv

campo1 y campo2 estan relacionados, si existe el campo1 lo elimino junto con su campo2 y viceversa

Resumiendo, quiero hacer esto:

leer y recorrer el csv
hacer un explode para separar los campos
verificar q campo1 no este repetido
escribir un nuevo archivo csv con los datos desduplicados

Alguna orientacion?
Gracias