Foros del Web » Programando para Internet » PHP »

Info: CSV

Estas en el tema de Info: CSV en el foro de PHP en Foros del Web. Hola, mi primera consulta es esto es CSV: "perro","caniche","bajo","sin pelo" En realidad no tengo muy claro la estructura de CSV, no se si alguien me ...
  #1 (permalink)  
Antiguo 06/09/2003, 15:41
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años, 7 meses
Puntos: 0
Info: CSV

Hola, mi primera consulta es esto es CSV: "perro","caniche","bajo","sin pelo"

En realidad no tengo muy claro la estructura de CSV, no se si alguien me podria explicar lo básico del CSV, o alguna documentación, que estube buscando y no encontre nada "decente".

Nada más

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.

Última edición por Cluster; 06/09/2003 a las 16:12
  #2 (permalink)  
Antiguo 06/09/2003, 15:51
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años, 7 meses
Puntos: 0
Losiento creo que lo escribi mal, no es CVS, es CSV.

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #3 (permalink)  
Antiguo 06/09/2003, 16:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Te edité el mensaje (cambiando los CVS por CSV, con tu permiso xDD) ..

Si explicas que quieres saber al respecto .. sería lo ideal. No sé si quieres información técnica sobre el formato CSV? .. o como leer/escribir desde PHP en ese formato .. o .. o .. o... no sé.

Básicamente la teoría es:
"Campos separados por comas .. y registros por saltos de línea (a su vez los campos entrecomillados o no .. para poder usar "comas" como dato de un campo) .."

Los saltos de línea .. dependen del sistema de archivo del S.O. que uses ..

\n para Linux/Unix
\r\n para windows
\r Mac

Lo normal es usar \n como "standar" ...

Con esa "teoría" ya puedes implementar cualquier lógica en cualquier lenguaje (no sólo PHP) para leer o escribir un archivo con esas características ..


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 07/09/2003, 11:48
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años, 7 meses
Puntos: 0
Hola, bueno aparte de querer documentarme y saber, también queria convertir cada campo en una variable, hice esto pero aún no lo probe:

Cita:
Este el archivo plantae.csv

"PINO 1","Crocus carpetanus Boiss. & Reut.","Iridaceae","Ourense","Padrenda","Gorgua. En un camino lateral del circo.","NG716595","900","En un camino poco frecuentado y casi convertido en prado.","","1 ex","18-01-2003","rjc","","","JUAN","64"
Código PHP:
$archivo "plantae.csv"//El archivo, que contiene, cadenas en formato CSV
$fp fopen($archivo,"r"); //Abrimos el archivo para leerlo
$line fgets($fp,2024);
while(!
feof($fp)) // Recorremos el archivo
 
{
  list(
$pliego,$taxon,$familia,$provincia,$municipio,$lugar,$utm,$altitud,$ecologia,$sintaxonomia,$cantidad,$fecha,$leg,$det,$observaciones,$publicacion,$pagina) = split(","$line); //Listamos variables, con la condición del split (no se si cambiarlo a explode)
  
$line fgets($fp,2024);
 }
fclose($fp); //Cierra el archivo *.csv 
No se si funcionara, que aún no lo probre, hay alguna forma mejor de hacer el script, he visto la función fgetcsv(); pero no e querido implementarla, devido a mi ignorancia en el tema.

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #5 (permalink)  
Antiguo 07/09/2003, 13:05
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
Jajaja, pues si no lo implementas vas a segir con tu ignorancia ( son tus palabras).
No es tan dificil, basta con mirar la documentacion y hacer algunas pruebitas...
http://ar2.php.net/manual/es/function.fgetcsv.php

Por cierto, para que usas luego esas variables? porque si es para meterlas a una BD mysql, hace algun tiempito hice un script que anda dando vueltas por aqui...

Saludos!
  #6 (permalink)  
Antiguo 07/09/2003, 13:30
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años, 7 meses
Puntos: 0
Hola, gracias, pero es para meter en pdf

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #7 (permalink)  
Antiguo 07/09/2003, 13:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Usa la funcion fgetcsv(), porque con ese split(",") si un campo de texto tiene "hola, soy yo", te lo va a partir en 2.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 07/09/2003, 13:58
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años, 7 meses
Puntos: 0
Hola, josemi... así:

Código PHP:
$archivo "plantae.csv"//El archivo, que contiene, cadenas en formato CSV
$fp fopen($archivo,"r"); //Abrimos el archivo para leerlo
$line fgets($fp,2024);
while(!
feof($fp)) // Recorremos el archivo
 
{
   list(
$pliego,$taxon,$familia,$provincia,$municipio ,$lugar,$utm,$altitud,$ecologia,$sintaxonomia,$can tidad,$fecha,$leg,$det,$observaciones,$publicacion,$pagina) = fgetcsv ($line"2024"","); //Listamos variables, con la condición del split (no se si cambiarlo a explode)
  
$line fgets($fp,2024);
 }
fclose($fp); //Cierra el archivo *.csv 
Pongo esto así:
Código PHP:
fgetcsv ($fp"2024"","); 
(supongo que sera así)

o así:
Código PHP:
fgetcsv ($line"2024"","); 
Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #9 (permalink)  
Antiguo 07/09/2003, 14:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Si te fijas en el ejemplo del manual, tu codigo deberia ser:
Código PHP:


$archivo 
"plantae.csv"//El archivo, que contiene, cadenas en formato CSV

$fp fopen($archivo,"r"); //Abrimos el archivo para leerlo

while($datos=fgetcsv ($line2024",")) // Recorremos el archivo

 
{

    list(
$pliego,$taxon,$familia,$provincia,$municipio
  
,$lugar,$utm,$altitud,$ecologia,$sintaxonomia,$can
  tidad
,$fecha,$leg,$det,$observaciones,$publicacion
,$pagina) = $datos//Listamos variables, con la condición del split (no se si cambiarlo a explode)

// aqui lo que quieras hacer con ese registro

 
}

fclose($fp); //Cierra el archivo *.csv 
Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 07/09/2003, 16:03
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años, 7 meses
Puntos: 0
Gracias josemi.

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
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 22:43.