lunes, 23 de enero de 2023

Python: leyendo un archivo de texto -

Situación:

  Leyendo un archivo en python3 de texto (csv o txt) hay un carácter que se puede "apreciar" utilizando "more" en terminal pero en python3 es más complicada la situación. 


Ejemplo 1:

 $ more epa.csv 

<U+FEFF>el texto


   En mi caso, el archivo lo generé utilizando Excel y grabando como csv.


Ejemplo 2:

 



Problema:

  Python3 lee el archivo bien, no arroja error pero ese "carácter" invisible queda en las variables, los textos, etc y puede traer algún inconveniente.


Solución:

  La solución es leer el archivo y especificar el encoding, algo tan sencillo como:


FILENAME="epa.csv"

with open(FILENAME, encoding='utf-8-sig') as file:

    for line in file:

        print (line)


Explicación (tomado de: https://stackoverflow.com/questions/17912307/u-ufeff-in-python-string):

The Unicode character U+FEFF is the byte order mark, or BOM, and is used to tell the difference between big- and little-endian UTF-16 encoding.


Espero te haya ayudado





No hay comentarios:

Publicar un comentario

¿Algo adicional que quieras mencionar? ¿Algun consejo?, ¿truco? Gracias!

Entrar a rommon en un Switch Cisco desde una laptop mac

Problema  Deseo entrar un rommon en un SW Cisco estando conectado vía consola. Los break sequence que intento ninguno sirve, incluso luego d...