Importação correta de palavras acentuadas com a gdata::read.xls()

Saudações, Tem pouco tempo que importo arquivos de extensão *xls. Estou com um problema que ao importar um arquivo possuo nomes de cidades brasileiras com acentos no nomes. Ao importar, as letras acentuadas são representadas de outra forma. Quero saber como importar corretamente ou se é possível devolver os nomes certos após importação. Veja o CMR que preparei require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") head(teste) # abaixo o print desse comando Sigla Codigo mun a2000 1 AC 1200013 Acrel\xe2ndia 1042.38 # â trocado por \xe2 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasil\xe9ia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32 Os demais acentos possuem o seu "\xe?" correspondente. Alguém tem uma solução? Outro pacote/função? Meu sistema é Ubuntu 10.04. Os dados são um subconjunto dos dados do ipeadata, baixados no formato.xls. Outra coisa que percebi é que se o nome das colunas tiver acentos, a importação falha, ex "municipio" (sem acento) importa, mas com "município" (com acento) no nome da coluna não importa. Como evitar isso sem ter que sair renomeando as colunas manualmente? Planilhas de sites coleta de dados do Brasil sempre tem acentos por causa do nomo idioma. Minhas buscas no nabble não retornaram resultado. # sheet 2 está escrito "Município" como nome da coluna teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=2, method="tab") Erro em make.names(col.names, unique = TRUE) : string multibyte inválida 3 Certo sua atenção, agradeço. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Walber Função iconv no R iconv(x, "latin1", "UTF-8") # ou "UTF-16" []´s O De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Walmes Zeviani Enviada em: terça-feira, 12 de abril de 2011 00:25 Para: r-br@listas.c3sl.ufpr.br Assunto: [R-br] Importação correta de palavras acentuadas com a gdata::read.xls() Saudações, Tem pouco tempo que importo arquivos de extensão *xls. Estou com um problema que ao importar um arquivo possuo nomes de cidades brasileiras com acentos no nomes. Ao importar, as letras acentuadas são representadas de outra forma. Quero saber como importar corretamente ou se é possível devolver os nomes certos após importação. Veja o CMR que preparei require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") head(teste) # abaixo o print desse comando Sigla Codigo mun a2000 1 AC 1200013 Acrel\xe2ndia 1042.38 # â trocado por \xe2 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasil\xe9ia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32 Os demais acentos possuem o seu "\xe?" correspondente. Alguém tem uma solução? Outro pacote/função? Meu sistema é Ubuntu 10.04. Os dados são um subconjunto dos dados do ipeadata, baixados no formato.xls. Outra coisa que percebi é que se o nome das colunas tiver acentos, a importação falha, ex "municipio" (sem acento) importa, mas com "município" (com acento) no nome da coluna não importa. Como evitar isso sem ter que sair renomeando as colunas manualmente? Planilhas de sites coleta de dados do Brasil sempre tem acentos por causa do nomo idioma. Minhas buscas no nabble não retornaram resultado. # sheet 2 está escrito "Município" como nome da coluna teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=2, method="tab") Erro em make.names(col.names, unique = TRUE) : string multibyte inválida 3 Certo sua atenção, agradeço. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo.

Osvaldo, Perfeito, deu certo. Então ficou assim require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") teste$Municipio <- iconv(teste$Muni, "latin1", "UTF-8") head(teste) Sigla Codigo Municipio a2000 1 AC 1200013 Acrelândia 1042.38 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasiléia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32 E a questão de importar planilhas com nomes acentuados como nome de colunas? Grato. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

ou... teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", fileEncoding='latin1', encoding="latin1") b 2011/4/12 Walmes Zeviani <walmeszeviani@gmail.com>:
Osvaldo,
Perfeito, deu certo. Então ficou assim
require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") teste$Municipio <- iconv(teste$Muni, "latin1", "UTF-8") head(teste) Sigla Codigo Municipio a2000 1 AC 1200013 Acrelândia 1042.38 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasiléia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32
E a questão de importar planilhas com nomes acentuados como nome de colunas?
Grato. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Melhor ainda Benilton! []´s O -----Mensagem original----- De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Benilton Carvalho Enviada em: terça-feira, 12 de abril de 2011 00:48 Para: r-br@listas.c3sl.ufpr.br Assunto: Re: [R-br] RES: Importação correta de palavras acentuadas com a gdata::read.xls() ou... teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", fileEncoding='latin1', encoding="latin1") b 2011/4/12 Walmes Zeviani <walmeszeviani@gmail.com>:
Osvaldo,
Perfeito, deu certo. Então ficou assim
require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") teste$Municipio <- iconv(teste$Muni, "latin1", "UTF-8") head(teste) Sigla Codigo Municipio a2000 1 AC 1200013 Acrelândia 1042.38 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasiléia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32
E a questão de importar planilhas com nomes acentuados como nome de colunas?
Grato. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo.

Walmes, não li o email a tempo mas essas saídas dos colegas Benilton e Oswaldo são necessárias por causa das diferentes codificações utf8 no linux, mais ou menos o mesmo problema que ocorre qdo se abre um script feito num sistema em outro! 2011/4/12 Oswaldo G Cruz <oswaldo@fiocruz.br>
Melhor ainda Benilton!
[]´s O
-----Mensagem original----- De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Benilton Carvalho Enviada em: terça-feira, 12 de abril de 2011 00:48 Para: r-br@listas.c3sl.ufpr.br Assunto: Re: [R-br] RES: Importação correta de palavras acentuadas com a gdata::read.xls()
ou...
teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", fileEncoding='latin1', encoding="latin1")
b
2011/4/12 Walmes Zeviani <walmeszeviani@gmail.com>:
Osvaldo,
Perfeito, deu certo. Então ficou assim
require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") teste$Municipio <- iconv(teste$Muni, "latin1", "UTF-8") head(teste) Sigla Codigo Municipio a2000 1 AC 1200013 Acrelândia 1042.38 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasiléia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32
E a questão de importar planilhas com nomes acentuados como nome de colunas?
Grato. Walmes.
==========================================================================
Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218
==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Estava reproduzindo o vosso código e veja o que aconteceu: teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", fileEncoding='latin1', encoding="latin1") .Erro em findPerl(verbose = verbose) : perl executable not found. Use perl= argument to specify the correct path. Erro em file.exists(tfn) : argumento 'file' inválido Como corrigir isto? teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", fileEncoding='latin1', encoding="latin1") b 2011/4/12 Walmes Zeviani <walmeszeviani@gmail.com>:
Osvaldo,
Perfeito, deu certo. Então ficou assim
require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") teste$Municipio <- iconv(teste$Muni, "latin1", "UTF-8") head(teste) Sigla Codigo Municipio a2000 1 AC 1200013 Acrelândia 1042.38 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasiléia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32
E a questão de importar planilhas com nomes acentuados como nome de colunas?
Grato. Walmes.

2011/4/12 Mauro Sznelwar <sznelwar@uol.com.br>:
Estava reproduzindo o vosso código e veja o que aconteceu: teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", fileEncoding='latin1', encoding="latin1") .Erro em findPerl(verbose = verbose) : perl executable not found. Use perl= argument to specify the correct path. Erro em file.exists(tfn) : argumento 'file' inválido
Como corrigir isto?
O Perl é instalado por padrão nas distribuições de Linux, mas não no Windows, em que uma opção é o ActivePerl: http://www.activestate.com/activeperl/downloads -- Jakson

Opsss Me desculpe, Walmes! []´s O De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Walmes Zeviani Enviada em: terça-feira, 12 de abril de 2011 00:25 Para: r-br@listas.c3sl.ufpr.br Assunto: [R-br] Importação correta de palavras acentuadas com a gdata::read.xls() Saudações, Tem pouco tempo que importo arquivos de extensão *xls. Estou com um problema que ao importar um arquivo possuo nomes de cidades brasileiras com acentos no nomes. Ao importar, as letras acentuadas são representadas de outra forma. Quero saber como importar corretamente ou se é possível devolver os nomes certos após importação. Veja o CMR que preparei require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") head(teste) # abaixo o print desse comando Sigla Codigo mun a2000 1 AC 1200013 Acrel\xe2ndia 1042.38 # â trocado por \xe2 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasil\xe9ia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32 Os demais acentos possuem o seu "\xe?" correspondente. Alguém tem uma solução? Outro pacote/função? Meu sistema é Ubuntu 10.04. Os dados são um subconjunto dos dados do ipeadata, baixados no formato.xls. Outra coisa que percebi é que se o nome das colunas tiver acentos, a importação falha, ex "municipio" (sem acento) importa, mas com "município" (com acento) no nome da coluna não importa. Como evitar isso sem ter que sair renomeando as colunas manualmente? Planilhas de sites coleta de dados do Brasil sempre tem acentos por causa do nomo idioma. Minhas buscas no nabble não retornaram resultado. # sheet 2 está escrito "Município" como nome da coluna teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=2, method="tab") Erro em make.names(col.names, unique = TRUE) : string multibyte inválida 3 Certo sua atenção, agradeço. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo.

tive um problema parecido ao ler arquivos .sav (do SPSS) uma vez. a maneira mais lógica q consegui foi salvar o arquivo em TXT e depois ler normalmente informando qual o codepage correto. On 12/04/2011, at 00:25, Walmes Zeviani wrote:
Saudações,
Tem pouco tempo que importo arquivos de extensão *xls. Estou com um problema que ao importar um arquivo possuo nomes de cidades brasileiras com acentos no nomes. Ao importar, as letras acentuadas são representadas de outra forma. Quero saber como importar corretamente ou se é possível devolver os nomes certos após importação. Veja o CMR que preparei
require(gdata) # contém a função read.xls() para importar planilhas teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=1, method="tab") head(teste) # abaixo o print desse comando
Sigla Codigo mun a2000 1 AC 1200013 Acrel\xe2ndia 1042.38 # â trocado por \xe2 2 AC 1200054 Assis Brasil 429.22 3 AC 1200104 Brasil\xe9ia 2243.25 4 AC 1200138 Bujari 786.68 5 AC 1200179 Capixaba 603.84 6 AC 1200203 Cruzeiro do Sul 9363.32
Os demais acentos possuem o seu "\xe?" correspondente. Alguém tem uma solução? Outro pacote/função? Meu sistema é Ubuntu 10.04. Os dados são um subconjunto dos dados do ipeadata, baixados no formato.xls.
Outra coisa que percebi é que se o nome das colunas tiver acentos, a importação falha, ex "municipio" (sem acento) importa, mas com "município" (com acento) no nome da coluna não importa. Como evitar isso sem ter que sair renomeando as colunas manualmente? Planilhas de sites coleta de dados do Brasil sempre tem acentos por causa do nomo idioma. Minhas buscas no nabble não retornaram resultado.
# sheet 2 está escrito "Município" como nome da coluna teste <- read.xls("http://www.leg.ufpr.br/~walmes/foo/teste.xls", sheet=2, method="tab") Erro em make.names(col.names, unique = TRUE) : string multibyte inválida 3
Certo sua atenção, agradeço. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

2011/4/13 Leonard Assis <assis.leonard@gmail.com>:
tive um problema parecido ao ler arquivos .sav (do SPSS) uma vez. a maneira mais lógica q consegui foi salvar o arquivo em TXT e depois ler normalmente informando qual o codepage correto.
Acho que hoje o R atualmente está mais sabido e consegue ler um arquivo .sav antigo, que não informa qual foi a codificação de caracteres utilizada. Se não funcionar, uma tentativa poderia ser algo assim: x <- read.spss("arquivo.sav") # sem o to.data.frame = TRUE library(descr) x <- toUTF8(x) x <- as.data.frame(x) Se isso também não funcionar, o jeito é mesmo salvar como txt e ler com o read.table. -- Jakson

Complemenrtado as dicas Enconding(x) serve para mostar a codificacao n objeto e tb pode receber/mudar valores como em Enconding(x) <- "latin1" outra util eh enc2native() para codificarsegundo o usado no sistema On Wed, 13 Apr 2011, Jakson A. Aquino wrote:
2011/4/13 Leonard Assis <assis.leonard@gmail.com>:
tive um problema parecido ao ler arquivos .sav (do SPSS) uma vez. a maneira mais lógica q consegui foi salvar o arquivo em TXT e depois ler normalmente informando qual o codepage correto.
Acho que hoje o R atualmente está mais sabido e consegue ler um arquivo .sav antigo, que não informa qual foi a codificação de caracteres utilizada. Se não funcionar, uma tentativa poderia ser algo assim:
x <- read.spss("arquivo.sav") # sem o to.data.frame = TRUE library(descr) x <- toUTF8(x) x <- as.data.frame(x)
Se isso também não funcionar, o jeito é mesmo salvar como txt e ler com o read.table.
-- Jakson _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Cara, eu lembro q na época algumas coisas q eu tentava até truncavam o arquivo. Saída que deu mais certo foi alvar como txt e ler desse jeito. On 13/04/2011, at 07:45, Jakson A. Aquino wrote:
2011/4/13 Leonard Assis <assis.leonard@gmail.com>:
tive um problema parecido ao ler arquivos .sav (do SPSS) uma vez. a maneira mais lógica q consegui foi salvar o arquivo em TXT e depois ler normalmente informando qual o codepage correto.
Acho que hoje o R atualmente está mais sabido e consegue ler um arquivo .sav antigo, que não informa qual foi a codificação de caracteres utilizada. Se não funcionar, uma tentativa poderia ser algo assim:
x <- read.spss("arquivo.sav") # sem o to.data.frame = TRUE library(descr) x <- toUTF8(x) x <- as.data.frame(x)
Se isso também não funcionar, o jeito é mesmo salvar como txt e ler com o read.table.
-- Jakson _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
participantes (8)
-
Benilton Carvalho
-
Fernando Henrique Toledo
-
Jakson A. Aquino
-
Leonard Assis
-
Mauro Sznelwar
-
Oswaldo G Cruz
-
Paulo Justiniano
-
Walmes Zeviani