Foros del Web » Programando para Internet » PHP »

Crear columnas en archivo csv con php

Estas en el tema de Crear columnas en archivo csv con php en el foro de PHP en Foros del Web. Hola, verán tengo un script que crea archivos csv dinámicamente funciona todo muy bien pero necesito que cuando cree el archivo csv cada vez que ...
  #1 (permalink)  
Antiguo 22/06/2013, 04:24
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Pregunta Crear columnas en archivo csv con php

Hola, verán tengo un script que crea archivos csv dinámicamente funciona todo muy bien pero necesito que cuando cree el archivo csv cada vez que encuentre un ";" cree una nueva columna y no me lo meta todo en un mismo campo.

Encontré un ejemplo de como hacerlo pero no supe aplicarlo bien, ¿me podrían explicar un poco?

Este es mi fputcsv:

$cadena = ";1;".$nombre.";Inicio,".$categoria.",".$subcatego ria.";".$precio_articulo.";7;;1;;;;;;;;;;;;;".$sto ck_disponible.";".$caracteristicas.";;;;;;;;;1;;1; ".$imagen.";1;;1;;;";

Gracias.
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #2 (permalink)  
Antiguo 22/06/2013, 05:13
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Crear columnas en archivo csv con php

Solo tienes que agregar un separador, con ";"
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #3 (permalink)  
Antiguo 22/06/2013, 05:20
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: Crear columnas en archivo csv con php

Si pero como se hace eso...?
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #4 (permalink)  
Antiguo 22/06/2013, 05:22
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Crear columnas en archivo csv con php

Aqui un ejemplo

Código PHP:
Ver original
  1. $cadena = ";1;".$nombre.";Inicio,".$categoria.",".$subcatego ria.";".$precio_articulo.";7;;1;;;;;;;;;;;;;".$sto ck_disponible.";".$caracteristicas.";;;;;;;;;1;;1; ".$imagen.";1;;1;;;";"$nombredecamponuevo";
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #5 (permalink)  
Antiguo 22/06/2013, 05:23
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: Crear columnas en archivo csv con php

Eso no me funciona me lo pone todo en un mismo campo y no me lo separa por columnas.
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #6 (permalink)  
Antiguo 22/06/2013, 05:25
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Crear columnas en archivo csv con php

Pon tu Script mas completo, porque tambien tienes que ver, que separador estas usando y deberia de funcionar
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #7 (permalink)  
Antiguo 22/06/2013, 05:26
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: Crear columnas en archivo csv con php

Que yo sepa para separar en columnas habría que usar fgetcsv con esto sólo que yo tengo no vale:

Código PHP:
Ver original
  1. $cadena = ";1;".$nombre.";Inicio,".$categoria.",".$subcategoria.";".$precio_articulo.";7;;1;;;;;;;;;;;;;".$stock_disponible.";".$caracteristicas.";;;;;;;;;1;;1;".$imagen.";1;;1;;;";
  2.    
  3.    
  4.     $creacion = fopen($fecha."p.csv", "a");
  5.     fputcsv($creacion,array("\n"));
  6.     fputcsv($creacion,array($cadena));
  7.     fclose($creacion);


Crees que si convierto $cadena en un array y a cada valor lo meto por separado en él me los separará?
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #8 (permalink)  
Antiguo 22/06/2013, 05:36
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Crear columnas en archivo csv con php

Tienes varias cosas mas te paso un script mas sencillo
Otra cosa $cadena no es un array en tu codigo y lo llamas como array

Código PHP:
Ver original
  1. $list = array (
  2.     array('aaa', 'bbb', 'ccc', 'dddd'),
  3.     array('123', '456', '789'),
  4.     array('"aaa"', '"bbb"')
  5. );
  6.  
  7. $fp = fopen('archivo.csv', 'w');
  8.  
  9. foreach ($list as $fields) {
  10.     fputcsv($fp, $fields);
  11. }
  12.  
  13. fclose($fp);
  14. ?>
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #9 (permalink)  
Antiguo 22/06/2013, 06:18
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Lo llamaba como array porque al poner fputcsv me dice que el 2º parametro debe serlo.

Pero claro convirtiendo la cadena a array ya me vale.

Gracias por tu ayuda. Después pruebo y te comento.
  #10 (permalink)  
Antiguo 22/06/2013, 15:18
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: Crear columnas en archivo csv con php

Hola, he hecho lo que me has dicho y se han creado las columnas, el problema es que el CSV no tiene el comportamiento que yo necesito (que se cree una columna nueva por cada ; en vez de por cada ,). Si pudieras indicarme como cambiar esto te lo agradecería:

Código PHP:
Ver original
  1. $cadena = array(
  2.  
  3.     array(";","1;",$nombre,"Inicio,".$categoria.",".$subcategoria.";",$precio_articulo.";","7;",";","1;",";",";",";",";",";",";",";",";",";",";",";",";",$stock_disponible.";",$caracteristicas.";",";",";",";",";",";",";",";",";","1;",";","1;",$imagen.";","1;",";","1;",";",";")
  4.  
  5.     );
  6.  
  7.     $creacion = fopen($fecha."p.csv", "a");
  8.  
  9.     foreach($cadena as $fields){
  10.         fputcsv($creacion,$fields);
  11.     }
  12.    
  13.     fclose($creacion);

Saludos!
__________________
No hay preguntas tontas, sino tontos que no preguntan.

Etiquetas: columnas, csv, curl, dinamicamente, dom, excel
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 19:35.