# Importando a bibliotca de importação
import requests
# Importando a bibliotca de leitura de json
import json
# Importando o pandas para criar o DF
import pandas as pd
#armazenando a url do jason em uma variável temporária
ipca = 'http://api.bcb.gov.br/dados/serie/bcdata.sgs.10844/dados?formato=json&dataInicial=01/01/2010&dataFinal=31/12/2016'
#extraindo o conteúdo do json
conteudo = requests.get(ipca).content
#criando um dicionário com o conteúdo do json
ipca_dict = json.loads(conteudo)
print(ipca_dict)
[{'data': '01/01/2010', 'valor': '0.61'}, {'data': '01/02/2010', 'valor': '1.81'}, {'data': '01/03/2010', 'valor': '0.72'}, {'data': '01/04/2010', 'valor': '0.50'}, {'data': '01/05/2010', 'valor': '0.62'}, {'data': '01/06/2010', 'valor': '0.41'}, {'data': '01/07/2010', 'valor': '0.35'}, {'data': '01/08/2010', 'valor': '0.41'}, {'data': '01/09/2010', 'valor': '0.41'}, {'data': '01/10/2010', 'valor': '0.49'}, {'data': '01/11/2010', 'valor': '0.46'}, {'data': '01/12/2010', 'valor': '0.58'}, {'data': '01/01/2011', 'valor': '0.87'}, {'data': '01/02/2011', 'valor': '2.28'}, {'data': '01/03/2011', 'valor': '0.85'}, {'data': '01/04/2011', 'valor': '0.54'}, {'data': '01/05/2011', 'valor': '0.59'}, {'data': '01/06/2011', 'valor': '0.60'}, {'data': '01/07/2011', 'valor': '0.42'}, {'data': '01/08/2011', 'valor': '0.50'}, {'data': '01/09/2011', 'valor': '0.51'}, {'data': '01/10/2011', 'valor': '0.41'}, {'data': '01/11/2011', 'valor': '0.59'}, {'data': '01/12/2011', 'valor': '0.51'}, {'data': '01/01/2012', 'valor': '1.05'}, {'data': '01/02/2012', 'valor': '1.25'}, {'data': '01/03/2012', 'valor': '0.52'}, {'data': '01/04/2012', 'valor': '0.77'}, {'data': '01/05/2012', 'valor': '0.21'}, {'data': '01/06/2012', 'valor': '0.52'}, {'data': '01/07/2012', 'valor': '0.79'}, {'data': '01/08/2012', 'valor': '0.49'}, {'data': '01/09/2012', 'valor': '0.51'}, {'data': '01/10/2012', 'valor': '0.51'}, {'data': '01/11/2012', 'valor': '0.82'}, {'data': '01/12/2012', 'valor': '0.98'}, {'data': '01/01/2013', 'valor': '0.92'}, {'data': '01/02/2013', 'valor': '1.30'}, {'data': '01/03/2013', 'valor': '0.26'}, {'data': '01/04/2013', 'valor': '0.54'}, {'data': '01/05/2013', 'valor': '0.56'}, {'data': '01/06/2013', 'valor': '0.64'}, {'data': '01/07/2013', 'valor': '0.64'}, {'data': '01/08/2013', 'valor': '0.60'}, {'data': '01/09/2013', 'valor': '0.63'}, {'data': '01/10/2013', 'valor': '0.52'}, {'data': '01/11/2013', 'valor': '0.65'}, {'data': '01/12/2013', 'valor': '1.16'}, {'data': '01/01/2014', 'valor': '0.47'}, {'data': '01/02/2014', 'valor': '1.24'}, {'data': '01/03/2014', 'valor': '1.09'}, {'data': '01/04/2014', 'valor': '0.44'}, {'data': '01/05/2014', 'valor': '0.30'}, {'data': '01/06/2014', 'valor': '1.10'}, {'data': '01/07/2014', 'valor': '-0.05'}, {'data': '01/08/2014', 'valor': '0.59'}, {'data': '01/09/2014', 'valor': '0.77'}, {'data': '01/10/2014', 'valor': '0.43'}, {'data': '01/11/2014', 'valor': '0.46'}, {'data': '01/12/2014', 'valor': '1.20'}, {'data': '01/01/2015', 'valor': '0.87'}, {'data': '01/02/2015', 'valor': '1.07'}, {'data': '01/03/2015', 'valor': '0.58'}, {'data': '01/04/2015', 'valor': '0.72'}, {'data': '01/05/2015', 'valor': '0.20'}, {'data': '01/06/2015', 'valor': '0.79'}, {'data': '01/07/2015', 'valor': '0.54'}, {'data': '01/08/2015', 'valor': '0.32'}, {'data': '01/09/2015', 'valor': '0.67'}, {'data': '01/10/2015', 'valor': '0.62'}, {'data': '01/11/2015', 'valor': '0.46'}, {'data': '01/12/2015', 'valor': '0.97'}, {'data': '01/01/2016', 'valor': '0.66'}, {'data': '01/02/2016', 'valor': '1.05'}, {'data': '01/03/2016', 'valor': '0.24'}, {'data': '01/04/2016', 'valor': '0.58'}, {'data': '01/05/2016', 'valor': '0.37'}, {'data': '01/06/2016', 'valor': '0.33'}, {'data': '01/07/2016', 'valor': '0.62'}, {'data': '01/08/2016', 'valor': '0.59'}, {'data': '01/09/2016', 'valor': '0.33'}, {'data': '01/10/2016', 'valor': '0.47'}, {'data': '01/11/2016', 'valor': '0.41'}, {'data': '01/12/2016', 'valor': '0.65'}]
# transformando o dicionário em DF
df = pd.DataFrame(ipca_dict)
print(df)
data valor
0 01/01/2010 0.61
1 01/02/2010 1.81
2 01/03/2010 0.72
3 01/04/2010 0.50
4 01/05/2010 0.62
.. ... ...
79 01/08/2016 0.59
80 01/09/2016 0.33
81 01/10/2016 0.47
82 01/11/2016 0.41
83 01/12/2016 0.65
[84 rows x 2 columns]