Te recomiendo cargar primero el csv y despues aplicarle el replace dentro de un if que compruebe si esta vacio
El 28/5/17, Álvaro Justen [Turicas] <alvarojus...@gmail.com> escribió: > 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 > _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es