Exportar Tabela em Python

Recentemente, tive que fazer um trabalho que envolvia montar várias tabelas e exportá-las para arquivos no formato CSV, pois eles serviriam de input para uma outra tarefa. Ao invés de usar o DataGrip, utilizei o SQL Alchemy para rodar os scripts em Python. A única coisa nova para mim, era exportação em CSV. Como sempre, era bem simples.

A única coisa que precisava fazer era utilizar o nome do objeto ao qual a tabela foi atribuída seguido de to_csv(). Claro, sendo esse objeto um dataframe Pandas.

Essa função deve receber essencialmente os parâmetros:

  • Endereço e nome do arquivo a ser criado. Se não receber endereço, salvará no local em que o arquivo Python se encontra;
  • Sep: separador a ser utilizado,  como vírgula, ponto e vírgula, dentre outros;
  • Index: índice do arquivo. Por default será True, o que significa que criará a numeração das linhas;
  • Quotechar: o que usar para identificar textos. É comum que as pessoas utilizem aspas para identificar esse tipo de campo. Por isso é o default nesse caso;
  • Decimal: Separador decimal. Como nós utilizamos vírgula, é bom especificar;
  • Header: Por default é True, mas se o seu dataframe não tiver cabeçalho, é preciso especificar o parâmetro como False.

Veja um exemplo bem básico que é utilizado na página da função:

import pandas as pd

df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
    'mask': ['red', 'purple'],
    'weapon': ['sai', 'bo staff']})
df.to_csv('exemplo.csv',index=False)

Criamos uma tabela com as informações das tartarugas ninjas. Agora, quero mostrar um exemplo envolvendo valores numéricos:

df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
    'height': [2.13, 2.10]})

df.to_csv('exemplo.csv',decimal=',')

Note que agora temos a altura das tartarugas. Porém, o Python entende que o ponto é o separador decimal. Mas no Brasil nós utilizamos a vírgula. Sendo assim, acabei especificando esse argumento.

Uma última necessidade que eu tive foi colocar todos os campos entre aspas. Para isso, temos o parâmetro quoting:

df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
 'height': [2.13, 2.10]})

df.to_csv('exemplo.csv',decimal=',', quoting=csv.QUOTE_ALL)

Simples, não? Espero que tenham gostado!

Bons estudos!

 

Ps.: A documentação completa de to_csv() você pode ver neste link.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *