Foros del Web » Programando para Internet » PHP »

Problema con leer datos de un cvs

Estas en el tema de Problema con leer datos de un cvs en el foro de PHP en Foros del Web. Buenos Días mi duda es la siguiente, tengo unos datos que los almaceno en un archivo xls y los guarda bien separados como yo lo ...
  #1 (permalink)  
Antiguo 20/09/2007, 08:05
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Problema con leer datos de un cvs

Buenos Días mi duda es la siguiente, tengo unos datos que los almaceno en un archivo xls y los guarda bien separados como yo lo deseo. La forma en que los guardo es separando con \t las columnas y \n para las filas. el problema se me presenta cuando intento leerlo, uso el siguiente código
Código PHP:
$fp fopen "licencias.xls" "r" );
echo 
"<table align=\"center\"  width=\"100%\">";
while (( 
$data fgetcsv $fp 1000 "," )) !== FALSE )
{
echo 
"<tr>";
  foreach(
$data as $row)
    {
      
$valores explode("\t",$row);
      echo 
"<td>";
      echo 
"fila1".$valores[0];
      echo 
"</td>";
      echo 
"<td>";
      echo 
"fila2".$valores[1];
      echo 
"</td>";
      echo 
"<td>";
      echo 
"fila3".$valores[2]; 
      echo 
"</td>";
    }
//fin de for
  
echo "</tr>";
  
$i++;
}
echo 
"</table>"
Pero en algunas ocasiones no toma los valores como son es decir me separa el texto que esta en una misma fila. Alguna sugerencia
  #2 (permalink)  
Antiguo 20/09/2007, 09:53
 
Fecha de Ingreso: agosto-2007
Ubicación: En el lugar menos pensado
Mensajes: 83
Antigüedad: 12 años, 5 meses
Puntos: 2
Re: Problema con leer datos de un cvs

Hola

Bueno, si te entendi bien tienes algo asi

hola\tque\ttal\n

y a veces te aparece ya en la lectura

hola que
tal

correcto?

seria mejor que lo pusieras mas grafico, pero pues se me ocurre que cambies
los separadores a ver si con eso se te arregla el inconveniente o mires si el error que te ocurre siempre ocurre en una posición en especifico y entonces habría que hacerle "trampa" al foreach, bueno, son solo ideas, saludos.
  #3 (permalink)  
Antiguo 20/09/2007, 10:11
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: Problema con leer datos de un cvs

Si es con unos campos especificos pero como los leo dinamicamente no veo forma de ponerle una trampa en ese lugar... Bueno mira es algo asi:
tengo estos datos
(dato11) (datos12 hola chao) (dato13)
(dato21) (datos22 hola chao) (dato23)
(dato31) (datos32 hola chao) (dato33)
(dato41) (datos42 hola chao) (dato43)
(dato51) (datos52 hola chao) (dato53)
cuando lo guardo en el archivo ecxel se ve perfecto los datos separados por columnas... pero al momento de leer el archivo con php cuando hago las separaciones me lo muestra asi

(dato11) (datos12) (hola) (chao) (dato13)
(dato21) (datos22 hola chao) (dato23)
(dato31) (datos32 hola chao) (dato33)
(dato41) (datos42 hola chao) (dato43)
(dato51) (datos52) (hola) (chao) (dato53) solo en algunos casos...
  #4 (permalink)  
Antiguo 20/09/2007, 20:28
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 14 años, 10 meses
Puntos: 17
Re: Problema con leer datos de un cvs

¿Puede ser que no ande en las líneas más largas?

Si es así, recomiendo que saques los últimos dos parámetros de fgetcsv... el último no hace nada ("," es el valor por defecto) y el anterior limita el tamaño
Código PHP:
while (( $data fgetcsv $fp )) !== FALSE 
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 08:03.