Hola, Horacio! Que tal?

Yo estoy trabajando en una librería que tiene cómo objetivo crear una
experiencia mas facil para trabajar con datos tabulares:
    http://turicas.info/rows/

Yo implementé soporte a locale, entoncoes puede utilizar el context
manager para que la librería haga la identificación de
floats/ints/etc. en su idioma, cómo en:
    http://turicas.info/rows/locale.html

Y también puede ver en este ejemplo (que utiliza la interfaz de línea
de comando en vez de la librería):
    https://github.com/turicas/rows/blob/develop/examples/cli/convert.sh

Tu puede incluso tener su propio tipo (basado en rows.field.Field),
para hacer otros tipos de conversión que no son soportados por
default, como en este ejemplo:
    
https://github.com/turicas/rows/blob/develop/examples/library/custom_field.py

Suerte,
 Álvaro Justen "Turicas"
    turicas.info
   +55 41 999 311 221


2017-05-25 7:48 GMT-07:00 Horacio <horacio9...@gmail.com>:
> Buenas,, cuando intento cargar un archivo en formato CSV y ocurre una
> situación como esta,,,
>
> L1000_06;0,4435295926;3,08433806394649E-06;;;;
> L2000_01;;;0,0469908055;0,1543794704;0,3073072258;1,0129957616
>
> donde hay registros con campos sin contenido cuando hago correr esta
> porción de código,,,
>
> try:
>    i=0
>    lector=csv.reader(entrada,delimiter=';')
>    for registro in lector:
>        if (i>0) and (len(registro)>0):
>            a1=registro[0]
>            a2=float(registro[1].replace(",", "."))
>            a3=float(registro[2].replace(",", "."))
>            a4=float(registro[3].replace(",", "."))
>            Archivo.append(a1)
>            IDm.append(a2)
>            Mu.apped(a3)
>            Tiempo.apped(a4)
>        i+=1
> finally:
>    entrada.close()
>
> ve devuelve la excepción,,,
>
> Traceback (most recent call last):
>   File "carga_base_azul2.py", line 33, in <module>
>     a3=float(registro[2].replace(",", "."))
> ValueError: could not convert string to float:
>
> Cómo puedo hacer que cada vez que encuentre un registro con campo sin
> contenido además de no cortarse, le asigne -1 como contenido,,,
>
> Si alguien tiene una idea gracias,,, Horacio
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a