[Programación]Modificar separador de campos en Python, , como? (si es posible KISS)
Fabian Ezequiel Gallina
galli.87 en gmail.com
Sab Dic 12 15:23:34 ARST 2009
El día 12 de diciembre de 2009 10:45, Manuel Naranjo
<naranjo.manuel en gmail.com> escribió:
> Ernesto,
>>
>> Más allá de lo que te respondieron, me parece un error conceptual la
>> razón por la cual privilegiás los "datos nativos" sobre las instancias
>> de una clase, esto por:
>> 1) Te autolimitàs seriamente en el uso del lenguaje, en función de una
>> no demostrada ganancia en performance.
>> 2) Los "datos nativos" de los que hablás, por ej. float ...... también
>> son objetos, con todo lo que ello implica. Probá esto y lo verás:
>> (3).__add__(4)
>>
>
> No me autolimito, utilizo el lenguaje desdé hace 2 años y soy director de
> varios proyectos utilizando python. Ya sé que todo en python son objetos, un
> dir a cualquier variable te lo demuestra.
>
> Ahora al utilizar el float vas derecho a la unidad de punto flotante sin
> hacer cálculos intermedios para acomodar tus números y que se vean bonitos.
> La limitación de los float se debe a la forma de implementar las ALU de
> punto flotante, será que soy estudiante de ingeneriía electrónica y no estoy
> especializado en ciertas áreas de la informática. Pero por lo que aprendí
> programando fpgas no hay cosa más rápida que la interacción transistor a
> transistor. Si queres hacer un procesamiento de datos rápido del tipo que se
> hace cuando tenes que hacer cálculo del tipo ingenieril sobre muchooooooooos
> datos estadísticos perder tiempo para lograr que tu número en vez de
> 1.000000000000001 sea 1.1 es una perdida de tiempo.
>
> Otra sugerencia que se me ocurre para Horacio es generar un script en python
> que convierta el archivo base cvs en un archivo python así el compilador en
> vez de hacer conversiones string a float ya deja dentro del binario los
> float.
>
La cuestión no es si es más o menos rápido. La cuestión es si es lo
suficientemente rápido y eso es algo que solo Horacio lo va a poder
decidir a fin de cuentas.
Y por otro lado, todos los valores de ejemplo que mostraba el CSV de
Horacio, ninguno era decimal, así que tranquilamente podría haber
hecho lo siguiente y ya:
...
for linea in archivo.xreadlines():
pares = linea.split('," ",')
x.append(int(pares[0]))
y.append(int(pares[1].replace("\n", "")))
...
Dicho esto, qué copado que se movió la lista de programación :)
Y sobre todo qué groso que Ernesto anda por aca!
Saludos,
--
Fabián E. Gallina
http://www.from-the-cloud.com
Más información sobre la lista de distribución Programacion