Mais
Importar múltiplos arquivos csv para pandas e concatenar em um único DataFrame
Eu gostaria de ler vários arquivos csv de um diretório em pandas e concatená-los em um grande DataFrame. Mas não consegui perceber isso. Aqui está o que eu tenho até agora:
import glob
import pandas as pd
# get data file names
path =r'C:\DRO\DCL_rawdata_files'
filenames = glob.glob(path + "/*.csv")
dfs = []
for filename in filenames:
dfs.append(pd.read_csv(filename))
# Concatenate all data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)
Acho que preciso de alguma ajuda dentro do loop????
315
3
Se você tiver as mesmas colunas em todos os seus arquivos
csv
, então você pode tentar o código abaixo. Eu adicioneiheader=0
para que depois de lercsv
a primeira linha possa ser atribuída como os nomes das colunas.Uma alternativa ao darindaCoder's answer:
Edit: Eu pesquisei no Google https://stackoverflow.com/a/21232849/186078. No entanto, ultimamente estou achando mais rápido fazer qualquer manipulação usando o numpy e depois atribuí-lo uma vez ao dataframe em vez de manipular o próprio dataframe em uma base iterativa e parece funcionar nessa solução também.
Eu sinceramente quero que qualquer um que acesse esta página considere esta abordagem, mas don'não quero anexar este enorme pedaço de código como um comentário e torná-lo menos legível.
Você pode aproveitar o numpy para realmente acelerar a concatenação do dataframe.
Estatísticas de tempo: