sexta-feira, 27 de março de 2020

Como combinar todos os arquivos CSV de uma mesma pasta para um pandas dataframe automaticamente


Muitas vezes temos que ler vários arquivos idênticos, por exemplo focos por dia, para depois analisar todos os registros juntos. Uma maneira de fazer isto muito rápido foi publicado por Kade Killary
 em:

https://medium.com/@kadek/elegantly-reading-multiple-csvs-into-pandas-e1a76843b688

Resumindo o texto o que deve ser realizado está apresentado nas 3 linhas abaixo

import glob
import pandas as pd
df = pd.concat([pd.read_csv(f) for f in glob.glob('data*.csv')], ignore_index = True)

A explicação disto pode ser interpretada por partes da seguinte maneira

# glob.glob('data*.csv') - returns List[str]
# pd.read_csv(f) - returns pd.DataFrame()
# for f in glob.glob() - returns a List[DataFrames]
# pd.concat() - returns one pd.DataFrame()