Tá acabando!

Compre agora com desconto
Corra enquanto há tempo!

dias

:

horas

:

minutos

:

segundos

Primeiras aulas do curso (I/O) com R: Formatos diferentes de entrada e saída

(I/O) com R: Formatos diferentes de entrada e saída

Lendo e escrevendo arquivos JSON - Introdução

Olá. Seja bem-vindo ao curso R IO. Meu nome é Gabriel e eu serei o instrutor durante todo o curso e acompanharei vocês nessa atividade. Neste curso, iremos aprender a importar diferentes tipos de dados. Dentre eles, uma SQL, planilha Excel, dados salvos diretamente da ferramenta SPSS, da IBM.

Também vamos aprender a importar dados JSON, da ferramenta SAS, CSV. E utilizando o R é possível trabalhar com todos esses tipos de dados de formas mais simples. Vamos conhecer os diferentes pacotes e funções para importar e exportar dados. Vamos aprender a lidar com caracteres especiais, conhecidos como encodes.

O problema que temos que resolver é que uma empresa de advocacia solicitou que façamos a importação dos dados de reclamação dos PROCONs, façamos os tratamentos dos dados e salvemos nos formatos originais. Ou seja, os dados que estão nos formatos JSON iremos salvar no formato JSON, em CSV vamos salvar em CSV, e assim sucessivamente.

Vamos disponibilizar todas as reclamações em um único arquivo. Ou seja, os arquivos estão em base de dados diferentes, alguns em JSON, alguns em SQL, e em outros formatos que vimos anteriormente que vamos trabalhar. Nosso dever é importar todos eles e colocar numa base única.

Os dados e campos que são importantes são as colunas, o tipo da coluna e alguns exemplos de colunas. Alguns mais importantes, como as linhas em amarelo, têm formato texto, mas sabemos que as regiões no Brasil são divididas em Nordeste, Centro-Oeste, Sudeste, etc. Assim sabemos que ao importar esses dados os valores que devem contem nessas colunas são esses. Para UF a mesma coisa. Sabemos que são 27 valores distintos, ou seja, 26 Estados, mais o Distrito Federal. Temos que ter uma atenção maior nessa coluna.

Outra coluna muito importante a ser observada é a de atendida. Ela indica se a solicitação foi atendida ou não. São valores limitados. Temos também tipo, CNAE principal, que é o código identificador da Classificação Nacional de Atividades Econômicas, a descrição desse código, o código do assunto, descrição do assunto da reclamação.

Temos o código do problema, descrição do problema, o sexo do consumidor, também importante de ser verificada, porque tem valores pré-definidos. Vai ser armazenado com chars M, F, e N, ou seja, masculino, feminino ou não se aplica, em caso do PROCON ter feito a abertura da reclamação. Temos a faixa etária do consumidor, e por fim o CEP do consumidor, que é onde ele mora.

Vamos dar início às nossas atividades.

Lendo e escrevendo arquivos JSON - Lendo arquivos JSON (JSONLITE)

Um dos arquivos disponibilizados para nós está no formato JSON. Para trabalhar com dados JSON existem algumas opções, entre elas os pacotes RJSONIO e JSON Lite. Nós os veremos mais para a frente.

Primeiro, vamos verificar nossa área de trabalho, o diretório de trabalho, usando a função getwd. Essa é a área atual em que estou trabalhando, porém a área de trabalho que quero é outra. Vou utilizar a função setwd, passando o caminho que você desenha, que é onde você baixou e salvou os arquivos, os códigos.

Já arrumei minha área de trabalho. Agora vamos fazer a instalação do pacote. Primeiro, usando o pacote JSON Lite. Já tenho o pacote instalado, então não vou usar essa função. Se você não tem, você necessita executar essa primeira linha antes. Depois, você pode habilitar o pacote utilizando o JSON Lite library. Agora podemos usar as funções disponíveis.

Primeiro vamos usar o pacote JSON Lite. Vamos importar alguns dados usando essa função. Usamos o from JSON, passamos o caminho onde armazenamos os dados, e vamos salvar no objeto reclamação sem os caracteres especiais reclamação 2009.

Ao executar esse comando acontece um erro. Esse erro indica que há um problema de encoding no arquivo. Mais para a frente vou explicar com mais detalhes, mas o encoding são esses caracteres especiais que temos no português. Temos que trabalhar de forma correta com as acentuações.

Uma solução para resolver esse problema é utilizar outra função chamada readline. É ler linha a linha. Essa função irá ler linha a linha do arquivo e utilizar outra função dentro dela. Iremos usar o paste. Essa função vai fazer a concatenação de todas as linhas. Por exemplo, se colocarmos as strings cursos e Alura e executarmos, eles estão numa string só. É justamente o que iremos fazer. A função readline vai ler linha a linha e iremos concatenar para se tornar uma string só utilizando a função paste.

Vamos agora inverter, passo o caminho da dados reclamação 2009 JSON e vamos utilizar um parâmetro chamado collapse. Salvo esse resultado. Podemos ver ao lado que criamos uma string muito grande com 11.6 megabytes, com todos nossos dados, no formato JSON.

Mas isso não é o que eu quero. Vamos novamente copiar o comando e ao invés de ler direto o arquivo vamos passar nossa nova string. Executando, nossos registros foram lidos e salvos diretamente no objeto dataframe.

Porém, carregar os dados dessa maneira é um pouco trabalhoso. Vamos carregar os mesmos dados de forma mais simples utilizando outro pacote. Vamos ver como podemos fazer isso.

Lendo e escrevendo arquivos JSON - Lendo arquivos JSON (RJSONIO)

Agora vamos trabalhar com outro pacote que é possível manipular dados JSON. O RJSONIO. Da mesma forma que anteriormente, se você não tiver instalado você precisa instalar o pacote. Após a instalação, você habilita as funções do pacote com o library.

Esse pacote também permite trabalharmos com arquivos JSON, mas há algumas diferenças entre o outro pacote. Uma delas é a facilidade de carregar os dados quando há problemas de encoding, que são os caracteres especiais que temos no português, como acentuação, etc.

Vamos carregar os mesmos dados que tentamos anteriormente. Uma observação importante. Vamos colocar RJSONIO e a função que desejamos from JSON. Você pode observar que o nome para importar os dados é igual nos dois pacotes. Quando isso acontece é bom utilizar a sintaxe colocando o nome do pacote, dois pontos e o nome da função, para não haver confusão com a função de qual pacote você está utilizando. Isso porque habilitamos os dois pacotes. Se tivermos só um podemos deixar só o nome da função. Se você usar o tab, ele já recomenda a sintaxe.

Assim, o R, vai saber que você quer usar a função específica daquele pacote. Vamos dar continuidade com o caminho que queremos. Salvamos os dados no mesmo objeto que já criamos e executar.

Com essa função carregamos todos os registros sem problema, com uma pequena diferença. Agora nós não temos um dataframe. Esse pacote salva numa lista. Nossos dados foram carregados corretamente, como anteriormente, porém agora nós carregamos numa lista. Mais para a frente iremos converter para um dataframe.

Sobre o curso (I/O) com R: Formatos diferentes de entrada e saída

O curso (I/O) com R: Formatos diferentes de entrada e saída possui 113 minutos de vídeos, em um total de 61 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Data Science acessando integralmente esse e outros cursos, comece hoje!

Plus

Desconto 25%
  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85 R$63,75
à vista R$1.020 R$765
Matricule-se

Pro

Desconto 25%
  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120 R$90
à vista R$1.440 R$1.080
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas