Foros del Web » Programando para Internet » ASP Clásico »

Convertir archivo de texto a tabla

Estas en el tema de Convertir archivo de texto a tabla en el foro de ASP Clásico en Foros del Web. Necesito ayuda. Quiero convertir un archivo de texto que es generado de una base de datos y la quiero convertir a tabla por medio de ...
  #1 (permalink)  
Antiguo 06/10/2004, 17:50
 
Fecha de Ingreso: septiembre-2004
Mensajes: 6
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta Convertir archivo de texto a tabla

Necesito ayuda. Quiero convertir un archivo de texto que es generado de una base de datos y la quiero convertir a tabla por medio de código, no se si este en el foro correcto, soy nuevo en esto. En caso de ser por medio de otro código (javascript, etc....), me gustaría que me lo hicieran saber.
  #2 (permalink)  
Antiguo 06/10/2004, 17:52
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Bueno, primero que nada, si tienes ese archivo en el servidor se puede con ASP, después qué tipo de tabla? tabla en HTML o una tabla en la DB? en todo caso necesitamos un poco acerca de la estructura de ese txt, y utilizaríamos el FSO para acceder a dicho archivo, después lo parsearíamos un poco y finalmente hacemos la tabla, pero necesitamos mas datos.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 07/10/2004, 08:20
 
Fecha de Ingreso: septiembre-2004
Mensajes: 6
Antigüedad: 20 años, 7 meses
Puntos: 0
mil gracias por responder. El archivo si esta en el servidor, por eso crei que podia usar asp. El archivo de texto que me dan, es el resultado de la recopilacion de un cuestionario de una pagina, ese archivo me lo dan en txt y cada campo lo separan por comas. Lo que yo quiero hacer, es pasar ese archivo de texto a una tabla de una base de datos (estoy usando access) y todo ese procedimiento lo quiero hacer desde la página, porque "manualmente" lo puedo hacer, pero se pretende que se haga de forma "automática". No se si me expliqué.
  #4 (permalink)  
Antiguo 07/10/2004, 08:45
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
1.- formato csv2.- Leer linea x linea usando fso
3.- Con un split(linea_archivo",") cargas los campos en tu arreglo, según el No. de campos es la longitud de tu arreglo.
4.- Formas la sentencia sql
5.- Siguiente linea así hasta que sea el final de archivo.

Pregunta : ¿Cómo lo pasas manualmente?
  #5 (permalink)  
Antiguo 07/10/2004, 08:48
 
Fecha de Ingreso: septiembre-2004
Mensajes: 6
Antigüedad: 20 años, 7 meses
Puntos: 0
Disculpame, pero no te entendi nada, soy totalmente nuevo y no entiendo algunas cosa de codigos (si me ayudaras con un ejemplo de codigo, te estaria eternamente agradecido). Manualmente en access, le dices que te importe un archivo, le indicas que es de texto y vas siguiendo unos pasos que te marca el asistente. Al final le dices en que tabla la quieres y listo

Última edición por guscast; 07/10/2004 a las 08:49
  #6 (permalink)  
Antiguo 07/10/2004, 09:24
yag
 
Fecha de Ingreso: febrero-2004
Ubicación: Ccs
Mensajes: 54
Antigüedad: 21 años, 2 meses
Puntos: 0
Espero te sirva

Hola! sigue los comentarios del código para ver si te puedes ayudar con esto que utilizo yo

Código:
<body>
<%
'Declaración de Variables
Dim FSO, oFichero, oConn, nombre_cliente, numero_cliente, modalidad, monto, salida, cupo 
'Declaración del objeto
set FSO = Server.CreateObject("Scripting.FileSystemObject")
'Aqui en el mappath colocas el nombre del archivo que vas a trabajar
set oFichero=FSO.OpenTextFile(Server.MapPath("comite.txt"))
'Conectas con la base de datos donde crearás la tabla
set oConn=Server.CreateObject("ADODB.Connection")
oConn.open "DSN=tubasededatos"
'Comienza el recorrido por el plano
Archivo = oFichero.ReadAll
Archivo = Split(Archivo, vbcrlf) 
'Yo le coloco acá -1 porque en mi plano el último caracter no lo quiero leer porque viene de una generación de AS/400, como no es tu casa lo colocas sin esto
For i=1 to UBound(Archivo) -1
       'Comienzas a declarar tus variables futuros campos de acuerdo a las posiciones en la que se encuentran los datos en el plano, la primera (,) dice la posición y la segunda dice cuantos caracteres son para ese campo 
	nombre_cliente = Trim(Left(Archivo(i), 25))
	numero_cliente = Trim(Mid(Archivo(i), 27, 12))
	modalidad = Trim(Mid(Archivo(i), 40, 15))
	monto = Trim(Mid(Archivo(i), 56, 15))
	salida = Trim(Mid(Archivo(i), 72, 1))
	cupo = Trim(Mid(Archivo(i), 74, 1))

           'Ejecutas una sentencia con SQL para la creación de los registros en la tabla
	SQL="Insert into tutabla (nombre_cliente, numero_cliente, modalidad, monto, salida, cupo) values ('"&nombre_cliente&"','"&numero_cliente&"','"&modalidad&"','"&monto&"','"&salida&"','"&cupo&"')"
	oConn.Execute(SQL)
Next
'Cierras tus conexiones
set oConn = nothing
set oFichero = nothing
set FSO = nothing
%>
</body>
Si necesitas ayuda para traerte los datos desde la BD escribe un mensaje y te paso la 2da parte del codigo.

Saludos.
  #7 (permalink)  
Antiguo 07/10/2004, 09:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Suponiendo un archivo de texto ("datos.txt") que contenga, separados por comas, en cada línea los datos "Nombre, Apellido, Email" y una tabla llamada "tabla" con los mismos campos (nombre, apellido, email), el siguiente script te serviría a manera de ejemplo (estoy suponiendo tambiñén que la conexión a la BD está hecha y se llama objConn):


Código:
<%
'Instancio el FSO
Set FSO=Server.CreateObject("Scripting.FileSystemObject")

' Le digo qué archivo leer
Set Archivo = FSO.GetFile(Server.MapPath("datos.txt"))
Set f = archivo.OpenAsTextStream
'Leo el contenido
Contenido = f.ReadAll
' Cierro todo
f.Close
set f=nothing
Set Archivo = Nothing
Set FSO = Nothing

'Creo un array con cada línea del archivo
Registros = Split(Contenido, VBCrLf)

'Recorro el array para generar una sentencia de INSERT por cada línea
For i = 0 to UBound(Registros)
' Separo cada registro en campos por la coma
Campos = Split(Registros(i), ", ")
'finalmente armo la sentencia
SQL = "INSERT INTO tabla (nombre, apellido, email) VALUES ('" & Campos(0) & "', '" & Campos(1) & "', '" & Campos(2) & "')"
' y la ejecuto
objConn.Execute SQL
next
%>

Editando: coincidimos con yag en la respuesta
__________________
...___...

Última edición por AlZuwaga; 07/10/2004 a las 09:47
  #8 (permalink)  
Antiguo 18/10/2004, 14:16
Avatar de Sigfried  
Fecha de Ingreso: octubre-2004
Mensajes: 69
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola oigan yo necesito algo parecido, miren tengo unos archivs de exto en ellos tengo una info que quisiera pasar a un formato de celdas en una tabla de html para presentar esa info a modo de consulta, pero no se como hacerlo podrian ayudarme please, no se si me explique bien, es simple pasar los datos del archivo de texto a una celda hecha en html ok, bueno gracias por la ayuda, si me pueden enviar el codigo mucho mejor gracias bye.
  #9 (permalink)  
Antiguo 18/10/2004, 14:38
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Mira que oportuno Sigfried, ayer mismo colgué un rutina para ASP para hacer precisamente esto:

http://www.forosdelweb.com/showpost....5&postcount=11

Espero que te sirva.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #10 (permalink)  
Antiguo 11/11/2004, 13:53
Avatar de Sigfried  
Fecha de Ingreso: octubre-2004
Mensajes: 69
Antigüedad: 20 años, 6 meses
Puntos: 0
De acuerdo RE: Bravenap

Hola bravenap, creo que el codigo que pusiste ahi es de asp no estoy seguro, pero te agradeceria de manera infinita k si lo tienes en php seria mucho mejor ya que estoy bajo ambiente linux y no cuento con asp, o de lo contrario me puedas ayudar con otra opcion, muchas gracias, espero tu respuesta, bye
  #11 (permalink)  
Antiguo 11/11/2004, 14:49
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Claro que es de ASP. ¿No estamos en el foro de ASP? Bueno, siento no poder ayudarte de manera infinita, pero es que yo de PHP ando bastante escasito, por no decir nulo.
Intenta que alguien del foro de PHP te lo traduzca o puede que ya lo tengan hecho para ese lenguaje.

Un saludo y suerte.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #12 (permalink)  
Antiguo 16/11/2004, 10:28
Avatar de Sigfried  
Fecha de Ingreso: octubre-2004
Mensajes: 69
Antigüedad: 20 años, 6 meses
Puntos: 0
ok, gracias bravenap, nos vemos. Sigfried
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:26.