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 <davidmen...@gmail.com> > De nada. Pero lo más importante: ¿lo has entendido? > > 2011/8/25 alito Z <alit...@gmail.com>: > > Perfecto, queda genial. > > Muchas gracias por la ayuda :D > > Saludos! > > > > 2011/8/25 Daπid <davidmen...@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 <alit...@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 <kikocorre...@gmail.com> > >> >> > >> >> > >> >> El 25 de agosto de 2011 21:47, alito Z <alit...@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@python.org > >> >> http://mail.python.org/mailman/listinfo/python-es > >> >> FAQ: http://python-es-faq.wikidot.com/ > >> >> > >> > > >> > > >> > _______________________________________________ > >> > Python-es mailing list > >> > Python-es@python.org > >> > http://mail.python.org/mailman/listinfo/python-es > >> > FAQ: http://python-es-faq.wikidot.com/ > >> > > >> > > >> _______________________________________________ > >> Python-es mailing list > >> Python-es@python.org > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/