Foros del Web » Programando para Internet » PHP »

txt linear a csv delimitado por coma

Estas en el tema de txt linear a csv delimitado por coma en el foro de PHP en Foros del Web. tango problemas a la hora de carga la bd apartir de un txt que tiene los valores delimitados por espacio y las columnas tienen un ...
  #1 (permalink)  
Antiguo 23/05/2003, 10:09
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
txt linear a csv delimitado por coma

tango problemas a la hora de carga la bd apartir de un txt que tiene los valores delimitados por espacio y las columnas tienen un tamaño específico de esta forma:
0- 0-6452 124534 5-94 4- 7 1000000.00 119940518

ese espacio al principio es real, lo que pasa es que aveces no me incluye ciertos valores(osea no es seguro y ocupo 100% de seguridad) intente hacer lo de la coma con explode implode y file
algun consejo?
  #2 (permalink)  
Antiguo 23/05/2003, 10:41
 
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, Nuevo Leon Mex
Mensajes: 300
Antigüedad: 21 años
Puntos: 3
Prueba delimitando el archivo ascii o texto con comas (,) y cada campo en dobles comillas, asi te funcionara
  #3 (permalink)  
Antiguo 23/05/2003, 10:43
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
si eso lo se, se que me funciona asi, el problema es que el unico recurso que me dan para cargar la bd es en el formato que indique ahi arrbia, lo que me seria ideal es como pasarlo a , delimited. lo puedo hacer con file y despues explode el problema es que hay campos dentro de los mismos valores que estan vacios como en el numero de cedula 0- 0-6452
  #4 (permalink)  
Antiguo 23/05/2003, 10:50
 
Fecha de Ingreso: mayo-2003
Ubicación: Medellín
Mensajes: 187
Antigüedad: 20 años, 11 meses
Puntos: 0
Lo que estoy viendo es que en algunos campos es posible que existan espacios, que no son precisamente delimitadores de campos...

Si este es el caso, creo que no vas a poder cargar los datos exitosamente... Tienes que encontrar un delimitador de campos que NO se utilice en los datos que vas a importar... A mi me gusta el TABULADOR (\t).
__________________
- Julian
http://www.laneros.com
  #5 (permalink)  
Antiguo 23/05/2003, 11:03
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
si, tambien se eso, y pura vida por la ayuda, pero el problema es este formato que me dan, si yo estuviera construyendo el archivo, no lo haria asi de esta forma, pero pues, pura vida, voy a seguir investigando!!

me comenta quien me pasa la informacion que lo puedo ver con clipper??? que es eso? ademas que hago con verlo con eso, si destruyo todo el sistema de automatizacion que construi!!
  #6 (permalink)  
Antiguo 23/05/2003, 11:05
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 6 meses
Puntos: 2
pues oye, que sepas que esa unica forma que te dan de importar los datos es, con perdon, una autentica mierda. diselo o cambiate de servicio, o que se apliquen el cuento y que busquen soluciones para dar mas formas de hacerlo.
  #7 (permalink)  
Antiguo 23/05/2003, 11:07
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
respecto a eso no hay mucho que decir, de haber tratado, cielo y tierra e movido, pero la verdad es que no lo puedo dejar asi, otra cosa que me acaban de informar es que esta en formato dbase, alguien sabe una funcion para hacer un arreglo apartir de un archivito de estos?
  #8 (permalink)  
Antiguo 23/05/2003, 11:58
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
hola

no sé si será factible pero intenta reemplazar esos espacios vacíos por algún caracter, no sé tipo comodín, porque sino tampoco va a funcionar lo de explode(), tal vez si reemplazas esos espacios vacíos dentro del valor (son muchos?) por no sé, 'f', para insertarlos en la base, y después reemplazas los valores insertados en la base reemplazando de nuevo esos 'f' por espacios en blanco.

sino puedes intentar usar expresiones regulares para evitar que el explode() te parta también un valor que debe ir entero. no entendí bien eso que necesitas de explode() pero si quieres separar valor por valor y crear arrays con eso, intenta con una expresión regular que te evite espacios en blanco que estén precedidos de '-' (si ése siempre el caso ¿?). si eso te serviría se pensaría una forma para hacerlo.

saludos
  #9 (permalink)  
Antiguo 23/05/2003, 12:04
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
gracias, la verdad esta util, pero lo que acabo de encontrar (notaran que la fuente estotalmente inutil e ingnorante) es que los campos estan limitados por espacios definido, por ejemplo cedula son 12, nombre 30, direccion 60, entonces lo que tengo que hacer es usar una funcion de string que me lea 12 espacio, ponga una coma, despues 30 com, 60 coma y se valla al new line..
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:30.