대상 디렉토리의 여러 Python Pandas DataFrame으로 여러 개의 CSV 파일 (수백 개의 파일, 수백 개의 줄이 있지만 각기 동일한 수의 열이 있음)을 읽고 싶습니다.파이썬 데이터 프레임으로 여러 csv 가져 오기 프로세스 속도 향상
아래 코드는 작동하지만 너무 느립니다. 30 개 파일을 실행하는 데 몇 분이 걸립니다 (내 파일을 모두로드하면 얼마나 오래 기다려야하는지). 더 빨리 작동하도록 변경하려면 어떻게해야합니까?
게다가, 나는 "_"(보통의 utf-8)에 "_" ? 파일에 프랑스어 악센트가 있기 때문에 coding=latin-1
을 사용합니다.
#coding=latin-1
import pandas as pd
import glob
pd.set_option('expand_frame_repr', False)
path = r'D:\Python27\mypfe\data_test'
allFiles = glob.glob(path + "/*.csv")
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
df = pd.read_csv(file_, index_col = None, header = 0, sep = ';', dayfirst = True,
parse_dates=['HeurePrevue','HeureDebutTrajet','HeureArriveeSurSite','HeureEffective'])
df.drop(labels=['aPaye','MethodePaiement','ArgentPercu'],axis=1,inplace=True)
df['Sens'].replace("\n", "-", inplace=True,regex=True)
list_.append(df)
print "fichier lu:",file_
frame = pd.concat(list_)
print frame
파이썬에 도달하기 전에 모든 파일을 연결할 수 있습니까? 그런 식으로 하나의 파일을 읽을 수 있습니까? 다른 방법으로는 파일을 함께 압축하여 운영 체제의 파일 캐시의 이점을 활용할 수 있습니다. – chrisaycock
파이썬에 도달하기 전에 연결하는 법을 정말로 모르겠습니다. 모든 파일을 하나의 CSV 파일로 만드시겠습니까? 그리고'zip'을 위해서, 어느 단계에 있습니까? – ch36r5s
예, 큰 CSV 파일 하나를 만들거나'zip' 파일을 만드십시오. 이것들은 파이썬과 아무 관련이 없습니다. 파이썬에서 외부 적으로 이것을해야 할 것이다. 모든 데이터가있는 파일이 하나 있으면 Python 스크립트에서 해당 파일을 직접 읽게하십시오. – chrisaycock