On Fri, Jan 26, 2007 at 03:05:51PM -0600, Mario Tello wrote: > Necesito ayuda para leer un .csv separado por comas, estoy utilizando > php, si lo leo y lo sera todo muy bien, pero existen casos, en que viene > algo asi > > dato1,dato2,file,"4,5,9",otracosa Mejor busca una biblioteca de csv ya hecha. Ese formato no está muy bien definido y hay un montón de casos frontera que, si lo haces a mano, tarde o temprano te van a pegar. Por poner un ejemplo, el caso que mencionas sí se podría resolver con una expresión regular (en sintáxis medio inventada): s/"([^,"]+),([^"]+"/"\1 \2"/ Repita en un bucle hasta que no haya 'match'. ¿Pero que pasa si hay comas que sí quieres preservar?: dato1,"Gallardo Cruz, Luis Rodrigo", dato3 ¿Qué pasa si el dato tiene comillas, por ejemplo escapadas como \"? dato1,"Francisco Martinez, alias \"el paco\"",dato3 Y un largo etcétera. Y decir 'Los datos que estoy importando no tienen esos casos' no sirve, por que tarde o temprano a tí o a alguien más se le va a ocurrir alimentar tú programa con datos generados por alguna otra versión de algún otro programa, o va a tomar un pedacito de tu aplicación y usarla en otro proyecto, o algo. -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 Zenophobia: the irrational fear of convergent sequences.
Attachment:
signature.asc
Description: Digital signature