[Python-es] Buscar e insertar en una línea

alito Z alito81 en gmail.com
Jue Ago 25 23:46:16 CEST 2011


Si, creo que es algo así.
Como dijiste, yo estaba intentando escribir el archivo con write el cual no
es el indicado para guardar cadenas o listado de cadenas en un archivo, y en
este caso se utiliza writelines.
Eso por el lado de como debí haberlo guardado desde el inicio.
Lo otro, es que por lo que veo en el código no buscate la línea sino la
columna como me lo habías sugerido en su momento, indicandole un espacio
entre lista de cadena.
Si es así o entendí algo mal?
Saludos!

2011/8/25 Daπid <davidmenhur en gmail.com>

> De nada. Pero lo más importante: ¿lo has entendido?
>
> 2011/8/25 alito Z <alito81 en gmail.com>:
> > Perfecto, queda genial.
> > Muchas gracias por la ayuda :D
> > Saludos!
> >
> > 2011/8/25 Daπid <davidmenhur en gmail.com>
> >>
> >> Lo que pasa es que estás intentando escribir la lista con write, y eso
> >> Python no sabe. Para escribir una lista tienes que usar writelines, o
> >> hacerlo a mano (write a cada línea).
> >>
> >> Antes se me pasó un detalle por alto, y son los saltos de línea.
> >> Readlines te va a devolver cada línea acabada en un salto de línea, y
> >> al añadir el 1000, aparecerá en la línea siguiente.
> >>
> >> Aquí todo corregido:
> >>
> >> archivoviejo=open('datosviejos.txt', 'r')
> >> datosviejos=archivoviejo.readlines()
> >> archivoviejo.close()
> >> datosnuevos=[line[:-1]+' 1000.0\n' if len(line.split(' '))==5 else
> >> line for line in datosviejos]
> >>
> >> archivonuevo=open('datosnuevos.txt', 'w')
> >> archivonuevo.writelines(datosnuevos)
> >> archivonuevo.close()
> >>
> >> Fíjate que antes de añadir el 1000.0, quito el último caracter (el
> >> salto de línea) y se lo vuelvo a añadir al final.
> >>
> >> De todas formas, creo que había un comando para quitar los saltos de
> >> línea (dependen del SO).
> >>
> >>
> >> 2011/8/25 alito Z <alito81 en gmail.com>:
> >> > Hola Kiko:
> >> > O.K. El problema es que ahora me sale el siguiente error: TypeError:
> >> > expected a character buffer object.
> >> > Alguién me puede explicar qué significa y qué puedo hacer para
> >> > remediarlo?
> >> > Saludos!
> >> >
> >> > 2011/8/25 Kiko <kikocorreoso en gmail.com>
> >> >>
> >> >>
> >> >> El 25 de agosto de 2011 21:47, alito Z <alito81 en gmail.com> escribió:
> >> >>>
> >> >>> Hola Darrid:
> >> >>> La longitud de las columnas afortunadamente no cambia, siempre es la
> >> >>> misma.
> >> >>> Intente lo primero que pusiste (newdata=[line+' 1000.0' if
> >> >>> len(line)<=27
> >> >>> else line for line in oldata]), sin embargo, no se añade el número
> >> >>> 1000.0.
> >> >>> Qué hago?
> >> >>>
> >> >>
> >> >> Después de hacer eso:
> >> >> newdata=[line+' 1000.0' if len(line)<=27 else line for line in
> oldata]
> >> >>
> >> >> Debes guardar los nuevos datos con el 1000.0 añadido en otro fichero.
> >> >>
> >> >> open('minuevofichero.txt', 'w')
> >> >> ...
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> Python-es mailing list
> >> >> Python-es en python.org
> >> >> http://mail.python.org/mailman/listinfo/python-es
> >> >> FAQ: http://python-es-faq.wikidot.com/
> >> >>
> >> >
> >> >
> >> > _______________________________________________
> >> > Python-es mailing list
> >> > Python-es en python.org
> >> > http://mail.python.org/mailman/listinfo/python-es
> >> > FAQ: http://python-es-faq.wikidot.com/
> >> >
> >> >
> >> _______________________________________________
> >> Python-es mailing list
> >> Python-es en python.org
> >> http://mail.python.org/mailman/listinfo/python-es
> >> FAQ: http://python-es-faq.wikidot.com/
> >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > http://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
> >
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110825/5780150e/attachment.html>


Más información sobre la lista de distribución Python-es