
| |||
![]() 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. ![]() |
| |||
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é. ![]() |
| |||
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? ![]() |
| |||
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 |
| |||
Espero te sirva Hola! sigue los comentarios del código para ver si te puedes ayudar con esto que utilizo yo
Código:
Si necesitas ayuda para traerte los datos desde la BD escribe un mensaje y te paso la 2da parte del codigo.<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> Saludos. |
| ||||
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 |
| ||||
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. |
| ||||
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! |
| ||||
![]() 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 |
| ||||
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! |