[Python-es] [Consulta] Caracter raro en .csv

Lemarchand Barker lemarchand8679 en gmail.com
Mie Jul 22 10:18:34 EDT 2020


Buenas, les cuento que solucioné el problema. Lo solucioné cambiando
la configuración de PyCharm, quiero adjuntar la foto para que vean, si
es posible.
Resulta que en la parte de Settings del ide, cargué el csv que estoy
usando y me muestra que usa codificación iso como bien me dijeron
anteriormente; y el problema asumo se generaba porque el ide por
default está en utf-8 y es por eso que creo que por más que yo le haya
pasado el parámetro de: encoding='ISO-8859-1' no me servía de mucho.
Cuestión que en la parte de configuración del ide, cargo el archivo
.csv y paso todo a iso. Ejecuto de nuevo el programa y seguía sin
darme el resultado que necesitaba. Pasaba lo siguiente:
Yo buscaba así:

Ingrese nombre del laboratorio: Bagó
El laboratorio Bagó no figura en lista.

Hasta que por fin pensé y lo busqué de la siguiente forma:

Ingrese nombre del laboratorio: Andr?maco
El laboratorio Andr?maco aparece en lista 52 veces

Hice un copy-paste del nombre del laboratorio, lo copié del csv y lo
pegué en ide cuando me pide que ingrese el nombre y funcionó.
Ahora lo que tengo que hacer es afinar la búsqueda y acá es donde es
muy seguro que los vuelva a molestar en breve.
Gracias 1000 a todos por la paciencia

El mié., 22 jul. 2020 a las 6:59, lasizoillo (<lasizoillo en gmail.com>) escribió:
>
>
>
> El mié., 22 jul. 2020 a las 0:01, Darío vía Python-es (<python-es en python.org>) escribió:
>>
>>
>> Estaba hablando con un compañero y me acaba de decir lo mismo.
>> Ahora, lo ideal es que se use el utf o latin? Cuál es más aconsejable?
>> Gracias
>>
>>
>> Hola, uso utf-8 porque tengo entendido que si usás Windows debe ser latin (al menos eso me pasaba al compilar archvos .tex). Habitualmente pongo
>>
>> # -*- coding: utf-8 -*-
>>
>> al inicio del guión.
>>
>>
>
> Con eso estás informando al intérprete cuál es la codificación del fichero python (tu código fuente) y para nada estás especificando la codificación de caracteres con la que te comunicas con el mundo exterior. Con eso afectas a la codificación de cadenas unicode en tu código. Unos ejemplos estrambóticos para ilustrarlo en python2 (sacados de una charla del 2011):
>
> Ejemplo 1:
> # -*- coding: rot13 -*-
> cevag h"fnyhqbf qrfqr rfcn�n"
>
> Ejemplo 2:
> # -*- coding: rot13 -*-
> cevag "hola mundo desde españa"
>
> La forma correcta es la comentada por ricardo: open(nombre_del_fichero, encoding='latin-1')
>
> En cuanto a si es mejor latin-1 o utf-8 depende. Con latin-1 todos los caracteres ocupan un byte por lo que el uso de memoria es más predecible
> y se puede usar algoritmos como el boyer-moore en la representación binaria del texto. Con utf-8 tienes una representación mayormente compacta
> pero capaz de representar klingon, kanji, cirílico y caracteres de casi cualquier otra lengua. Personalmente prefiero utf-8 y tener muy claro
> que cadenas de bytes y de texto son cosas completamente diferentes aunque haya formas de convertir unas en otras: por la red o a la consola de
> texto o... transmites bytes e internamente trabajas con cadenas de texto. Cualquier comunicación dentro/fuera o fuera/dentro requiere definir
> una codificación de caracteres (la que sea) y hacer la conversión correcta.
>
> Un saludo,
>
> Javi
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
------------ próxima parte ------------
Se ha borrado un mensaje adjunto que no está en formato texto plano...
Nombre     : set.png
Tipo       : image/png
Tamaño     : 102628 bytes
Descripción: no disponible
Url        : <http://mail.python.org/pipermail/python-es/attachments/20200722/22196dd0/attachment.png>


Más información sobre la lista de distribución Python-es