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

alito Z alito81 en gmail.com
Jue Ago 25 23:20:11 CEST 2011


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/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110825/cca46c09/attachment.html>


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