Extraindo tabelas de arquivos PDF com o R

[et_pb_section admin_label="section"][et_pb_row admin_label="row"][et_pb_column type="4_4"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Verdana||||" text_font_size="18" use_border_color="off" border_color="#ffffff" border_style="solid"]

Na edição 28 do Clube do Código, abordamos um problema prático: extrair tabelas de arquivos PDF. Isso pode ser um transtorno, não é mesmo? Já pensou ter que pegar dados de uma tabela, um a um, e colocar em outro programa? Com o R, isso, claro, é feito de outra forma. Utilizamos o pacote tabulizer para essa empreitada. Por exemplo, podemos estar interessados em pegar uma tabela do Relatório Trimestral de Inflação. Assim, começamos o nosso código, como abaixo.

library(tabulizer)
url = 'http://www.bcb.gov.br/htms/relinf/port/2017/03/ri201703c2p.pdf'
out = extract_tables(url)

Com três linhas de código, nós extraimos as tabelas do arquivo PDF. Agora, basta limpar um pouco os dados e utilizar a função stargazer para colocar essa tabela abaixo.

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row admin_label="row"][et_pb_column type="1_3"][/et_pb_column][et_pb_column type="1_3"][et_pb_code admin_label="Código"]<center> <table style="text-align:center"><caption><strong>Projeção da inflação no cenário com taxas de juros e câmbio da pesquisa Focus</strong></caption> <tr><td colspan="8" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Trimestre</td><td>50% Lower</td><td>30% Lower</td><td>10% Lower</td><td>Central</td><td>10% Upper</td><td>30% Upper</td><td>50% Upper</td></tr> <tr><td colspan="8" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">2017 1</td><td>4,6</td><td>4,6</td><td>4,6</td><td>4,6</td><td>4,6</td><td>4,6</td><td>4,6</td></tr> <tr><td style="text-align:left">2017 2</td><td>3,5</td><td>3,7</td><td>3,8</td><td>3,9</td><td>4,0</td><td>4,1</td><td>4,3</td></tr> <tr><td style="text-align:left"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr><td style="text-align:left">2017 3</td><td>2,8</td><td>3,1</td><td>3,3</td><td>3,4</td><td>3,5</td><td>3,7</td><td>4,0</td></tr> <tr><td style="text-align:left"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr><td style="text-align:left">2017 4</td><td>3,2</td><td>3,6</td><td>3,9</td><td>4,0</td><td>4,1</td><td>4,4</td><td>4,8</td></tr> <tr><td style="text-align:left">2018 1</td><td>3,5</td><td>3,9</td><td>4,2</td><td>4,4</td><td>4,6</td><td>4,9</td><td>5,3</td></tr> <tr><td style="text-align:left">2018 2</td><td>3,2</td><td>3,7</td><td>4,0</td><td>4,2</td><td>4,4</td><td>4,7</td><td>5,2</td></tr> <tr><td style="text-align:left">2018 3</td><td>3,2</td><td>3,7</td><td>4,0</td><td>4,2</td><td>4,4</td><td>4,7</td><td>5,2</td></tr> <tr><td style="text-align:left">2018 4</td><td>3,5</td><td>4,0</td><td>4,3</td><td>4,5</td><td>4,7</td><td>5,0</td><td>5,5</td></tr> <tr><td style="text-align:left">2019 1</td><td>3,6</td><td>4,1</td><td>4,4</td><td>4,6</td><td>4,8</td><td>5,1</td><td>5,6</td></tr> <tr><td colspan="8" style="border-bottom: 1px solid black"></td></tr><tr><td colspan="8" style="text-align:left">Fonte: Relatório de Inflação BCB - Março de 2017.</td></tr> </table> </center>[/et_pb_code][/et_pb_column][et_pb_column type="1_3"][/et_pb_column][/et_pb_row][et_pb_row admin_label="row"][et_pb_column type="4_4"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Verdana||||" text_font_size="18" use_border_color="off" border_color="#ffffff" border_style="solid"]

Aqui, para colocar no Blog, estou usando um código html. Mas é possível usar LaTeX e colocar essa tabela em outro pdf, como faço na edição 28 do Clube do Código. Bacana, não? 🙂

[/et_pb_text][et_pb_button admin_label="Botão" button_url="https://analisemacro.com.br/clube-do-codigo/" url_new_window="off" button_text="Receba exercícios como esse no Clube do Código!" button_alignment="center" background_layout="light" custom_button="off" button_letter_spacing="0" button_use_icon="default" button_icon_placement="right" button_on_hover="on" button_letter_spacing_hover="0"] [/et_pb_button][/et_pb_column][/et_pb_row][/et_pb_section]

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando estratégias de investimento com IA no Python

Imagine ter a capacidade de pedir à inteligência artificial para criar uma estratégia de investimento baseada em indicadores técnicos ou regras específicas. Com o tempo sendo um recurso valioso, nem sempre é possível desenvolver um código por conta própria. Vamos mostrar como a IA, junto com Python, pode facilitar a criação de estratégias de investimento.

Análise de Tendência de Mercado com IA usando Python

Você está analisando o mercado acionário e se concentrando nos preços de uma ação específica. Ao longo dos dias, percebe uma mudança na trajetória dos preços e deseja entender o que está acontecendo por meio de notícias. Como automatizar esse processo de forma eficiente usando IA? Neste exercício, mostramos como utilizar o Python para essa tarefa.

Análise de Sentimento de Mercado com IA usando Python

Ler notícias diárias sobre empresas e ações listadas na bolsa pode ser maçante e cansativo. Mas, e se houvesse uma maneira de simplificar todo esse processo? Mostraremos como a IA generativa pode ajudar a captar o sentimento de notícias sobre companhias, automatizando todo o processo com Python e Gemini.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.