Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions basico_pandas/tutorial_json_to_dataFrame.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Código executado no jupyter notebook."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Importando as blibiotecas necessárias."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import requests as rq"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Buscando arquivo json na base de dados do Governo Federal."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"arquivoJson = rq.get(\"https://compras.dados.gov.br/fornecedores/v1/cnaes.json?descricao=CULTIVO\").json()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Imprimindo na tela as informações contidas no json."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"arquivoJson"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Normalizando o arquivo json para transforma-lo em DataFrame, indicando o caminho dos dados que necessitamos, caso não ocorra essa indicação, todas as informações ficaram contidas em uma única linha do DataFrame. Imrpimindo o novo DataFrame para verificar as informações."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df = pd.json_normalize(arquivoJson[\"_embedded\"][\"cnaes\"])\n",
"df.head()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Excluindo colunas que não são relevantes para o DataFrame e imprimindo o novo DataFrame limpo."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df = df.drop(columns=[\"_links.self.href\",\"_links.self.title\", \"_links.fornecedores.href\", \"_links.fornecedores.title\"])\n",
"df.head()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Salvando o DataFrame em arquivo CSV sem utilizar index."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df.to_csv(\"meuArquivo.csv\",index = False)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}