Maison >développement back-end >Tutoriel Python >Comment puis-je charger efficacement des feuilles de calcul spécifiques à partir d'un gros fichier Excel avec Pandas ?
Charger efficacement des feuilles de calcul spécifiques à partir d'un classeur avec Pandas
La fonction pd.read_excel() de Pandas est un outil puissant pour lire des classeurs Excel. Cependant, lorsque vous travaillez avec des fichiers volumineux contenant plusieurs feuilles de calcul, le chargement de l'intégralité du classeur peut s'avérer inefficace, surtout si vous n'avez besoin que des données de quelques feuilles spécifiques.
Comprendre le processus de chargement avec pd.read_excel( )
Lors de l'utilisation de pd.read_excel() sur une feuille de calcul particulière, il semble que l'intégralité du classeur soit chargée en mémoire. En effet, pandas utilise en interne un objet ExcelFile pour représenter le classeur. L'objet ExcelFile analyse l'intégralité du fichier lors de son initialisation, quelle que soit la feuille de calcul spécifiée.
Chargement efficace de feuilles spécifiques
Pour optimiser le processus de chargement, pensez à utiliser le pd Objet .ExcelFile directement. En instanciant un objet ExcelFile avec le chemin du classeur, vous pouvez accéder à des feuilles de calcul spécifiques sans recharger l'intégralité du fichier.
Par exemple :
xls = pd.ExcelFile('path_to_file.xls') df1 = pd.read_excel(xls, 'Sheet1') df2 = pd.read_excel(xls, 'Sheet2')
Cette approche charge l'intégralité du classeur une seule fois lors de la création. de l'objet ExcelFile. Les appels ultérieurs à pd.read_excel() récupéreront les données des feuilles de calcul spécifiées sans entraîner la surcharge liée au rechargement du fichier.
Chargement de plusieurs feuilles
De plus, vous peut spécifier une liste de noms de feuilles ou d'index à pd.read_excel() pour charger plusieurs feuilles simultanément. Cela renvoie un dictionnaire où les clés sont les noms ou les indices des feuilles, et les valeurs sont les blocs de données correspondants.
Par exemple :
sheet_list = ['Sheet1', 'Sheet2'] df_dict = pd.read_excel(xls, sheet_list)
Chargement de toutes les feuilles
Si vous devez charger toutes les feuilles de calcul du classeur, définissez le paramètre sheet_name sur Aucun :
df_dict = pd.read_excel(xls, sheet_name=None)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!