Puedes utilizar el or de python para eso. Por ejemplo:

registro[2].replace(",", ".") or -1, en el caso de que la primera parte
esté vacía, se utilizará el -1, sino, pues se utiliza la primera.

El 25 de mayo de 2017, 16:48, Horacio <horacio9...@gmail.com> escribió:

> 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
>



-- 
Víctor Ramírez de la Corte        @virako
https://play.google.com/store/apps/details?id=com.littlegamescorp.cuadriculados.android

http://wadobo.com/ <http://agoravoting.org/>        @wadobo
http://agoravoting.org/        @agoravoting
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a