Tecnología

Inicio

Cómo quitar duplicados CSV en PHP

Cómo quitar duplicados CSV en PHP


PHP acrónimo de "PHP: preprocesador de hipertexto." Es un lenguaje de programación utilizado principalmente para la generación dinámica de contenido del sitio web. Al igual que muchos lenguajes de programación, es compatible con CSV (valores separados por comas), que es un formato de almacenamiento de datos en archivos de texto normales. Los saltos de línea se separan cada registro, y un delimitador - tales como comas o punto y coma - separa cada elemento dentro de los registros. Junto con PHP, puede utilizar archivos de datos CSV en aplicaciones web y mantener sus archivos limpia mediante la eliminación de entradas duplicadas innecesarias.

Instrucciones

1 Abra el archivo que contiene los datos CSV en modo de sólo lectura. Por ejemplo, si el nombre del archivo es "test.csv", escriba lo siguiente:

if (($ fp = fopen ( "test.csv", "r"))! == false) {

2 Bucle a través de todas las líneas de datos CSV, utilizando la función "fgetcsv." Los parámetros más importantes de la función son los $ fp identificador de archivo, el número máximo de caracteres por línea y el delimitador. Por lo general, el delimitador de archivos CSV será una coma. Por ejemplo, escriba:

mientras que (($ data = fgetcsv ($ fp, 1000, ','))! == false) {

3 Crear un nuevo array cuya clave será un hash MD5 de los datos devueltos por la función "fgetcsv". El valor de cada elemento de la matriz será los datos en sí. Dado que los datos devueltos por "fgetcsv" es una matriz, utilice la función "serializar" antes de crear el hash. Este proceso elimina automáticamente las entradas duplicadas, ya que genera una clave de la matriz duplicada, sobrescribiendo cualquier entradas idénticas. Por ejemplo, escriba:

$ Lista [md5 (serializar los datos ($))] = $ datos;

4 5 Vuelva a abrir el archivo en modo escritura y bucle a través de cada uno de los registros de la nueva matriz. Por ejemplo, escriba:

if (($ fp = fopen ( "test.csv", "w"))! == false) {

foreach ($ lista como $ registro) {

6 Escribe cada uno de los registros en el archivo utilizando la función "fputcsv". Eso lo cambia todo en formato CSV. Por ejemplo, escriba:

fputcsv ($ fp, ficha $, ',');

7