Erros na leitura de arquivos | Usuários Mac

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Dom Jan 10, 2016 12:59 pm

professor,

além do mesmo erro mencionado pelo colega Maurício Lamano Ferreira, também estou tendo dificuldades para ler os arquivos em .txt compartilhados durante as aulas. Fiz diversos testes, abrindo o arquivo em .xlsx e salvando em extensões .txt com diferentes atributos (UTF-16, por exemplo) mas nenhuma deu certo. Só consegui ler o arquivo quando retirei manualmente os acentos e salvei novamente. Contudo, fazer isso manualmente em um arquivo de grande extensão não será muito produtivo. Aí busquei outras opções!

Sem retirar os acentos manualmente eu consegui ler o arquivo salvando-o em extensão .csv e usando o header = FALSE ao invés de TRUE. Assim:

> dados<-read.csv("exemplo4.csv", header=F)
> dados
V1
1 UA;Ambiente;Area;Riqueza_de_especies
2 1;primario;120;10
3 2;primario;100;15
4 3;primario;90;12
5 4;primario;150;9
6 5;primario;130;5
7 6;secundario;90;13
8 7;secundario;125;8
9 8;secundario;105;7
10 9;secundario;110;9
11 10;secundario;120;10

Mas a "aparência" da leitura não ficou muito legal, né?

Conclusão: muitas vezes a codificação do Mac não é a mesma do Windowns. Eu perdi um bucado de tempo ontem pesquisando isso, o que também não é muito produtivo. Portanto deixo aqui o meu pedido: durante o curso é importante que também seja apresentada as variâncias dos comandos para os usuários do Mac para que não sejamos prejudicados.

Abaixo apresento as mensagens de erro quando rodei a função de leitura do arquivo sem retirar os acentos:

> dados<-read.table("exemplo1.txt", header=T)
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<c1>rea'
> dados<-read.table("exemplo2.txt", header=T)
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<ff><fe>U'

p.s: o "exemplo2.txt" foi criado a partir das minhas tentativas em salvar o arquivo com outros atributos de texto. Wink

avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Maurício Lamano Ferreira em Dom Jan 10, 2016 1:14 pm

Olá Giovana, boa tarde!
Eu acho que iremos trocar muitas "figurinhas" neste curso... sugiro "estreitarmos" os contatos para nos socorrermos com alguns comandos básicos!
abs e qquer novidade eu lhe escrevo,

Maurício Lamano Ferreira

Mensagens : 39
Data de inscrição : 09/01/2016

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos em Dom Jan 10, 2016 1:33 pm

Oi, Giovanna!

Acho que o csv é uma boa opção, pois é um arquivo fácil de gerar em qualquer gerenciador de planilhas (ecxel, calc, etc.). Mas na hora de ler, usando o read.csv, omita o argumento header, pois o csv lê o header automaticamente.

Agora, no output do seu csv, podemos notar que o arquivo está separado por ponto-e-vírgula, e não por vírgula! O excel faz isso, nunca entendi por que. Uma solução é incluir o argumento sep=";" no comando.

Então tente assim:
dados<-read.csv("exemplo4.csv", sep=";")

Depois disso dê um summary(dados), e nos mostre aqui como foi, pode ser?

Vou investigar mais sobre os arquivos txt no mac para saber a melhor opção. Mas acho que csv pode ser o cominho! Wink
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Dom Jan 10, 2016 9:02 pm

legal, prof. Marcos. Rodou direitinho com a função: dados<-read.csv("exemplo4.csv", sep=";"). Ficou assim, ó:

> dados
UA Ambiente Area Riqueza_de_especies
1 1 primario 120 10
2 2 primario 100 15
3 3 primario 90 12
4 4 primario 150 9
5 5 primario 130 5
6 6 secundario 90 13
7 7 secundario 125 8
8 8 secundario 105 7
9 9 secundario 110 9
10 10 secundario 120 10

> summary(dados)
UA Ambiente Area Riqueza_de_especies
Min. : 1.00 primario :5 Min. : 90.0 Min. : 5.00
1st Qu.: 3.25 secundario:5 1st Qu.:101.2 1st Qu.: 8.25
Median : 5.50 Median :115.0 Median : 9.50
Mean : 5.50 Mean :114.0 Mean : 9.80
3rd Qu.: 7.75 3rd Qu.:123.8 3rd Qu.:11.50
Max. :10.00 Max. :150.0 Max. :15.00


Mas só deu certo porque eu havia retirado os acentos antes. De todo modo, seria muito importante saber se existe alguma forma de converter os arquivos para leitura no Mac.

Maurício, com certeza, seguimos trocando. Pode contar comigo!
Abraços
avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Seg Jan 11, 2016 5:15 pm

Um adendo: testei novamente, em todas as extensões .csv possíveis, salvar sem tirar o acento e rodar a função dados<-read.csv("exemplo8.csv", sep=";"), mas sem retirar os acentos não vai! Sad

Veja a resposta:

> dados<-read.csv("exemplo8.csv", sep=";")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<c1>rea'
> dados<-read.csv("exemplo8.csv")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida 1

avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos em Ter Jan 12, 2016 3:17 pm

Oi, pessoal!

Voltei aqui, vamos lá tentar resolver o problema dos acentos.

Ainda tenho que pesquisar mais, mas sugiro tentar lidar com o argumento fileEncoding. Tente ler os dados novamente, do jeito de antes, mas com com um argumento extra:

dados<-read.csv("exemplo8.csv", sep=";", fileEncoding="latin1")

Se não der, tente assim:

dados<-read.csv("exemplo8.csv", sep=";", fileEncoding="UFT-8")

Me digam se deu certo, ok?
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Maurício Lamano Ferreira em Qua Jan 13, 2016 12:57 am

Giovana, boa noite!
Acabei de perceber que poderia ter postado aqui, mas criei um ícone para detalhar uma forma muita parecida com a do sistema windows... na verdade, seguem os mesmos passos que o professor Marcos está ensinando... acho que vale a pena fazer um teste se tiver um tempinho...
abs

Maurício Lamano Ferreira

Mensagens : 39
Data de inscrição : 09/01/2016

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Qua Jan 13, 2016 8:02 pm

oi professor Marcos,

seguindo suas orientações compartilho as respostas que obtive para aprendizados coletivos! Para ler uma planilha em arquivo .csv com acentos, a única função que funcionou foi a primeira abaixo:

> dados<-read.csv("exemplo10.csv", sep=";", fileEncoding="latin1")
> dados
UA Ambiente Área Riqueza_de_espécies
1 1 primário 120 10
2 2 primário 100 15
3 3 primário 90 12
4 4 primário 150 9
5 5 primário 130 5
6 6 secundário 90 13
7 7 secundário 125 8
8 8 secundário 105 7
9 9 secundário 110 9
10 10 secundário 120 10


> dados<-read.csv("exemplo10.csv", sep=";", fileEncoding="UFT-8")
Error in file(file, "rt", encoding = fileEncoding) :
conversão não suportada de 'UFT-8' para ''

> dados<-read.csv("exemplo10.csv")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida 1

> dados<-read.csv("exemplo10.csv", sep=";")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<c1>rea'
avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos em Qui Jan 14, 2016 11:56 am

Opa, que legal que funcionou, Giovanna! Assim as coisas ficam mais simples.
Seria muito problemático ter que retirar os acentos todas as vezes que fosse usar...

Depois confira se a solução também vale para um txt. Por exemplo: faça o teste, usando o mesmo argumento fileEncoding="latin1" para o arquivo prática1.txt do curso, e depois avise se funcionou.
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Qui Jan 14, 2016 12:25 pm

Veja que interessante: o arquivo em .txt já abre com erros nas palavras acentuadas. Mesmo assim, eu consegui lê-lo corretamente usando o seguinte comando:

dados<-read.table("pratica1.txt", fileEncoding="latin1")

Nesse caso tive que tirar o sep=";"  
Ele também lê o arquivo mesmo com o argumento sep=";"  mas a leitura não é feita corretamente.




avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos em Qui Jan 14, 2016 12:33 pm

Oba!

Resumindo tudo: o usuário de MAC, caso receba um arquivo txt enviado por alguém, deve sempre ler usando:

read.table("arquivo.txt", header=T, fileEncoding="latin1")

Caso ele esteja criando o próprio arquivo, uma boa é salvar como csv, e aí usar o comando:

read.csv("arquivo.csv", fileEncoding="latin1", sep=";")

Acho que no fundo, é isso, não é?

*Editei pra corrigir: de fato, read.csv não precisa de header=T


Última edição por Prof. Marcos em Qui Jan 14, 2016 1:27 pm, editado 1 vez(es)
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Qui Jan 14, 2016 12:35 pm

Aliás, disse que ele leu corretamente, mas estou intrigada com os V1 V2 V3 V4 e V5 no cabeçalho. Também quando rodo o comando summary(dados) ele aparece assim:






Acho que vou ter que corrigir a planilha na mão desta vez porque não tenho o arquivo em .xlxs
avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Qui Jan 14, 2016 12:37 pm

um p.s sobre a sua mensagem. Você havia dito que arquivos .csv não precisam do argumento "cabeçalho". Procede?

read.csv("arquivo.csv", header=T, fileEncoding="latin1", sep=";")
avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto em Qui Jan 14, 2016 12:40 pm

Pronto!

Mas quando eu uso o arquivo .txt eu preciso SIM usar o header=T! Agora deu certo, olha:





avatar
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos em Qui Jan 14, 2016 1:28 pm

Isso!

No read.table, usar header=T é obrigatório se você tiver um cabeçalho.

No read.csv não usamos, pois ele automaticamente lê o cabeçalho.

Editei e corrigi minha postagem mais acima, para evitar confusão de quem acessar este tópico para ler.
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum