Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problemas con codificación #35

Open
pirio72 opened this issue Apr 1, 2021 · 5 comments
Open

Problemas con codificación #35

pirio72 opened this issue Apr 1, 2021 · 5 comments

Comments

@pirio72
Copy link
Collaborator

pirio72 commented Apr 1, 2021

En Windows 10, al pasar el script (process_spain_provinces_data.R) que genera los ficheros de datos en Windows, se producen problemas de codificación con aquellos ficheros que tienen caracteres con acentos. Al menos, ocurren con:

  • vacunaciones.csv --> Hay un campo llamado Última fecha de actualización de datos, con dos acentos.
  • Con los nombres de provincias que llevan acentos (Castellón) o eñes (Coruña).
  • Y con otros textos que llevan acentos.

En el caso de vacunaciones.csv, el script indica que no reconoce ese campo y no procesa el fichero CSV.

Aparecen otros casos de error en otros ficheros, que probablemente también se deban a problemas de codificación.

Sospecha: se trata de un problema de codificación, que no sucede en Linux (cuando actualiza Pablo) pero sí en Windows (cuando actualiza David).

@pirio72
Copy link
Collaborator Author

pirio72 commented Apr 2, 2021

Revisando las codificaciones (con git, usando el comando file * --mime-encoding) en la carpeta /covid19/data/original/spain, aparece:

Datos_Casos_COVID19.csv:                         iso-8859-1
Fallecidos_COVID19.xlsx:                         binary
andalucia:                                       binary
aragon:                                          binary
asturias:                                        binary
baleares:                                        binary
canarias:                                        binary
cantabria:                                       binary
castilla-la-mancha:                              binary
catalunya:                                       binary
ccaa-poblacion.csv:                              utf-8
ceuta:                                           binary
covid19_spain_provincias.csv:                    utf-8
cyl:                                             binary
datadista_ccaa_covid19_fallecidos.csv:           utf-8
datos_sanidad_matriz.csv:                        utf-8
euskadi:                                         binary
extremadura:                                     binary
galicia:                                         binary
geovoluntarios-datacovid.csv:                    utf-8
iscii_casos_renave.csv:                          us-ascii
iscii_casos_renave_inicial.csv:                  us-ascii
iscii_data.csv:                                  iso-8859-1
isciii:                                          binary
isciii_casos_diag_ccaadecl.csv:                  us-ascii
isciii_casos_diagnostico_ccaa.csv:               us-ascii
isciii_casos_diagnostico_provincia.csv:          us-ascii
isciii_casos_hosp_uci_def_sexo_edad_provres.csv: us-ascii
madrid:                                          binary
melilla:                                         binary
murcia:                                          binary
navarra:                                         binary
provincias-poblacion.csv:                        utf-8
rioja:                                           binary
sanidad:                                         binary
shapes:                                          binary
uniprovinciales:                                 binary
vacunaciones.csv:                                unknown-8bit
valencia:                                        binary

vacunaciones.csv aparece con codificación unknown-8bit.

Hay algunos ficheros que tienen codificaciones iso-8859-1 y us-ascii (los "binary" son subdirectorios). ¿Podrían ser también causante de errores?

@pirio72
Copy link
Collaborator Author

pirio72 commented Apr 2, 2021

El problema de vacunaciones.csv parece solucionarse si:

  1. Se sustituye la línea 3355:

vacunas <- read.delim("data/original/spain/vacunaciones.csv",sep = ",") %>% rename(

por

vacunas <- read.delim("data/original/spain/vacunaciones.csv",sep = ",",encoding = "UTF-8") %>% rename(

  1. Y además, se comentan las líneas que se indican (en la versión anterior, no estaban comentadas)
ccaa = ifelse( ccaa =="Andalucía", "Andalucía", ccaa),
 # ccaa = ifelse( substr(ccaa,1,2) == "An", "Andalucía", ccaa),
 ccaa = ifelse( ccaa =="Aragón", "Aragón", ccaa),
 # ccaa = ifelse( substr(ccaa,1,2) == "Ar", "Aragón", ccaa),
...
 # ccaa = ifelse( ccaa =="Catalu�a", "Cataluña", ccaa),

¿Tendrán estos cambios alguna incidencia?

@pirio72
Copy link
Collaborator Author

pirio72 commented Apr 2, 2021

Algunos ficheros que podrían dar problemas (a priori) por su codificación

asturias -- us-ascii
canarias (varios) - us-ascii
euskadi/poblacion-jovenes.csv --> us-ascii
galicia/ [varios] --> us-ascii
iscii_casos_renave.csv:                          us-ascii
iscii_casos_renave_inicial.csv:                  us-ascii
isciii:                                          binary (dentro, us-ascii)
isciii_casos_diag_ccaadecl.csv:                  us-ascii
isciii_casos_diagnostico_ccaa.csv:               us-ascii
isciii_casos_diagnostico_provincia.csv:          us-ascii
isciii_casos_hosp_uci_def_sexo_edad_provres.csv: us-ascii
madrid-historico.csv:                  us-ascii
madrid-pcr:                            binary (--> us-ascii)
madrid-pcr.csv:                        us-ascii
madrid-series.csv:                     us-ascii
rioja/evolución.csv                    us-ascii

@pirio72
Copy link
Collaborator Author

pirio72 commented Apr 2, 2021

Solucionados casi todos los problemas de codificación

No parece funcionar (pero se cambia por si acaso)

Se cambió, en la configuración de R, en Tools --> Global Options --> Code --> Saving --> Default Text Encoding, a la codificación UTF-8, pero no parecía funcionar.

Sí parece funcionar:

cambiando todos los casos de:

... <- read.delim(...,sep = ",") %>% mutate (...

por

... <- read.delim(...,sep = ",",encoding = "UTF-8") %>% mutate (...

Y buena parte de los errores han desaparecido (aunque quedan algunos).

@otro-mas1
Copy link
Collaborator

Revisando las codificaciones (con git, usando el comando file * --mime-encoding) en la carpeta /covid19/data/original/spain, aparece:

Datos_Casos_COVID19.csv:                         iso-8859-1
Fallecidos_COVID19.xlsx:                         binary
andalucia:                                       binary
aragon:                                          binary
asturias:                                        binary
baleares:                                        binary
canarias:                                        binary
cantabria:                                       binary
castilla-la-mancha:                              binary
catalunya:                                       binary
ccaa-poblacion.csv:                              utf-8
ceuta:                                           binary
covid19_spain_provincias.csv:                    utf-8
cyl:                                             binary
datadista_ccaa_covid19_fallecidos.csv:           utf-8
datos_sanidad_matriz.csv:                        utf-8
euskadi:                                         binary
extremadura:                                     binary
galicia:                                         binary
geovoluntarios-datacovid.csv:                    utf-8
iscii_casos_renave.csv:                          us-ascii
iscii_casos_renave_inicial.csv:                  us-ascii
iscii_data.csv:                                  iso-8859-1
isciii:                                          binary
isciii_casos_diag_ccaadecl.csv:                  us-ascii
isciii_casos_diagnostico_ccaa.csv:               us-ascii
isciii_casos_diagnostico_provincia.csv:          us-ascii
isciii_casos_hosp_uci_def_sexo_edad_provres.csv: us-ascii
madrid:                                          binary
melilla:                                         binary
murcia:                                          binary
navarra:                                         binary
provincias-poblacion.csv:                        utf-8
rioja:                                           binary
sanidad:                                         binary
shapes:                                          binary
uniprovinciales:                                 binary
vacunaciones.csv:                                unknown-8bit
valencia:                                        binary

vacunaciones.csv aparece con codificación unknown-8bit.

Hay algunos ficheros que tienen codificaciones iso-8859-1 y us-ascii (los "binary" son subdirectorios). ¿Podrían ser también causante de errores?

Por si alguien lo duda, yo de R no tengo ni idea.
Por si ayuda, cuento lo que he podido ver.

Los ficheros us-ascii se pueden leer como utf-8 pues la correspondencia es directa desde us-ascii a utf-8. Obviamente NO en sentido contrario.

UTF-8, Incluye la especificación US-ASCII de 7 bits, por lo que cualquier mensaje ASCII se representa sin cambios

En el resto de los casos, no estoy igual de seguro que si lees otros enconding como utf-8 los entienda correcto.


En el caso de data/original/spain/vacunaciones.csv

tiene datos de estas CCAA
Andaluc�a
Andalucía
Arag�n
Aragón
Asturias
Baleares
C. Valenciana
Canarias
Cantabria
Castilla La Mancha
Castilla y Leon
Catalu�a
Cataluña
ccaa
Ceuta
Extremadura
Fuerzas Armadas
Galicia
La Rioja
Madrid
Melilla
Murcia
Navarra
País Vasco
Pa�s Vasco
Totales

En resumen, vacunaciones.csv tenía todos los registros 'correctos' con sus acentos y todo bien. Hasta los datos del 25 de marzo.
Los del 26 de marzo entraron 'distintos'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants