Skip to content

Commit 6daddb8

Browse files
committed
deploy: 2cf5a52
1 parent b84fe1b commit 6daddb8

20 files changed

Lines changed: 194 additions & 14 deletions

.doctrees/api.doctree

39 KB
Binary file not shown.

.doctrees/currency.doctree

3.5 KB
Binary file not shown.

.doctrees/environment.pickle

70.8 KB
Binary file not shown.

.doctrees/odata.doctree

3.16 KB
Binary file not shown.

.doctrees/sgs.doctree

3.86 KB
Binary file not shown.

_images/currency1.png

0 Bytes
Loading

_images/sgs1.png

0 Bytes
Loading

_images/taxajuros1.png

128 Bytes
Loading

_sources/currency.rst.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,32 @@ O módulo :py:mod:`bcb.currency` obtem dados de moedas do conversor de moedas do
7777
7878
currency.get_currency_list().head()
7979
80+
Obtendo o CSV bruto
81+
^^^^^^^^^^^^^^^^^^^
82+
83+
Para pipelines de dados onde o dado bruto deve ser persistido antes de qualquer transformação,
84+
o parâmetro ``output='text'`` pode ser passado à função :py:func:`bcb.currency.get`.
85+
86+
Para um único símbolo é retornada uma ``str`` com o CSV bruto; para múltiplos símbolos é
87+
retornado um ``dict`` mapeando símbolo ISO → CSV string.
88+
89+
.. code:: python
90+
91+
from bcb import currency
92+
93+
# único símbolo → str (CSV)
94+
raw = currency.get('USD', start='2024-01-01', end='2024-01-31', output='text')
95+
96+
# múltiplos símbolos → dict[str, str]
97+
raws = currency.get(['USD', 'EUR'], start='2024-01-01', end='2024-01-31', output='text')
98+
# raws['USD'] → CSV string
99+
# raws['EUR'] → CSV string
100+
101+
# salvar em disco
102+
with open('usd_raw.csv', 'w') as f:
103+
f.write(raw)
104+
105+
O CSV retornado usa ponto-e-vírgula como separador, datas no formato ``DDMMYYYY`` e vírgula
106+
como separador decimal — exatamente como devolvido pela API PTAX do BCB.
107+
O comportamento padrão (retorno de DataFrame) é mantido quando o parâmetro não é informado.
108+

_sources/odata.rst.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,34 @@ Para isso incluímos o método ``format`` na cadeia da consulta e passamos como
387387
.limit(5)
388388
.text())
389389
390+
O parâmetro ``output='text'``
391+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
392+
393+
Para pipelines de dados onde é necessário persistir o dado bruto antes de qualquer transformação
394+
(camada SOR/SOT), o parâmetro ``output='text'`` pode ser passado diretamente ao método ``collect``
395+
ou ao método ``get`` do endpoint.
396+
Isso evita serializar um DataFrame de volta para texto, o que pode ser uma operação com perda de informação.
397+
398+
.. code:: python
399+
400+
ep = em.get_endpoint('ExpectativasMercadoTop5Anuais')
401+
402+
# via query chain
403+
raw = (ep.query()
404+
.filter(ep.Indicador == 'IPCA')
405+
.limit(100)
406+
.collect(output='text'))
407+
408+
# via atalho get()
409+
raw = ep.get(ep.Indicador == 'IPCA', limit=100, output='text')
410+
411+
# salvar em disco
412+
with open('expectativas_raw.json', 'w') as f:
413+
f.write(raw)
414+
415+
O texto retornado é o JSON bruto da resposta OData, incluindo o campo ``@odata.context`` e o array ``value``.
416+
O comportamento padrão (retorno de DataFrame) é mantido quando o parâmetro não é informado.
417+
390418

391419
Classe ODataAPI
392420
---------------

0 commit comments

Comments
 (0)