Moyen plus rapide pour lire les fichiers Excel pour les pandas dataframe

J'ai un 14MB fichier Excel avec cinq feuilles de calcul que je suis en train de lire dans une Pandas dataframe, et bien que le code ci-dessous fonctionne, il faut 9 minutes!

Quelqu'un aurait-il des suggestions pour l'accélérer?

import pandas as pd

def OTT_read(xl,site_name):
    df = pd.read_excel(xl.io,site_name,skiprows=2,parse_dates=0,index_col=0,
                       usecols=[0,1,2],header=None,
                       names=['date_time','%s_depth'%site_name,'%s_temp'%site_name])
    return df

def make_OTT_df(FILEDIR,OTT_FILE):
    xl = pd.ExcelFile(FILEDIR + OTT_FILE)
    site_names = xl.sheet_names
    df_list = [OTT_read(xl,site_name) for site_name in site_names]
    return site_names,df_list

FILEDIR='c:/downloads/'
OTT_FILE='OTT_Data_All_stations.xlsx'
site_names_OTT,df_list_OTT = make_OTT_df(FILEDIR,OTT_FILE)
Pourriez-vous essayez de l'enregistrer au format csv et de chargement, il est possible que la excel reader n'est pas aussi rapide que le csv un
Il a plusieurs feuilles de calcul mais ne sera pas que de ne pas travailler?
Vous devriez toujours être en mesure de sauver chaque feuille, malheureusement, la douleur est ici que vous devez épargner chaque feuille séparément, 14MB n'est pas une grande taille et le csv reader va manger cette place très rapidement. Un autre point peut-être d'essayer ExcelFile.parse

OriginalL'auteur jsignell | 2015-02-27