Foros del Web » Programando para Internet » PHP »

contar columnas de un CSV

Estas en el tema de contar columnas de un CSV en el foro de PHP en Foros del Web. Como puedo hacer para contar las columnas de un archvi CSV que importo, por ejemplo el archivo seria algo asi RAFA;1210;las ACACIAS;1974 por lo que ...
  #1 (permalink)  
Antiguo 19/06/2007, 11:13
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 21 años, 2 meses
Puntos: 0
contar columnas de un CSV

Como puedo hacer para contar las columnas de un archvi CSV que importo,

por ejemplo el archivo seria algo asi

RAFA;1210;las ACACIAS;1974

por lo que deberia obteber que el archivo tiene 4 columnas-

necesito obtener el numero de columnas y los nombres de estas,

si alguien sabe le agaradeceria mucho contarme como lo puedo hacer

estoy usando la funcion fgetcsv para traer la data del archivo.
__________________
Hoy dia aprendí algo nuevo.
  #2 (permalink)  
Antiguo 19/06/2007, 14:14
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
De acuerdo Re: contar columnas de un CSV

Saludos

Lo puedes realizar de la siguiente forma

Cita:
$archivo="nombre_archivo";
$separador_campos=";";
$maneja_archivo = FOPEN($archivo, "r") or die("No fue posible abrir el archivo: ". $archivo);

$linea_texto = FGETS($maneja_archivo, 4096); //lee PRIMERA linea del archivo

$explode_valores = explode($separador_campos, $linea_texto);
echo ("Numero de Columnas del archivo". count($explode_valores));
////Para leerlo
$maneja_archivo = FOPEN($archivo, "r");
while ($data= fgetcsv($maneja_archivo, 1000, $separador_campos) )
{
$valor1=$data[0];
$valor2=$data[1];
$valor3=$data[2];
$valor4=$data[3];
echo $valor1.'-'.$valor2.'-'.$valor3.'-'.$valor4;
}
FCLOSE($maneja_archivo);
Bueno espero que te sirva y sino que te de una idea de como realizarlo ...

Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:58.