De nombreux développeurs rencontrent le besoin d'exporter les données de leurs programmes vers des feuilles de calcul Excel. Ce guide explorera les différentes méthodes et packages disponibles en Python pour accomplir cette tâche.
Lors de la sélection d'une approche, tenez compte des exigences spécifiques de votre projet. Les facteurs à garder à l'esprit incluent la disponibilité d'Office sur les ordinateurs cibles ainsi que la longueur et la structure de vos données.
Openpyxl est un package Python populaire pour lire et écrire dans des feuilles de calcul Excel. Il offre une flexibilité et un contrôle approfondi sur le formatage et le style des cellules. Cependant, gardez à l'esprit qu'Openpyxl nécessite qu'Office soit installé sur le système cible, ce qui n'est pas toujours réalisable.
Pour les cas où Office n'est pas installé ou votre les données sont complexes, Pandas apparaît comme une excellente option. Pandas vous permet de manipuler et de représenter des données dans des structures de données polyvalentes. En convertissant vos données en DataFrame et en utilisant la méthode to_excel, vous pouvez les enregistrer sans effort dans un fichier Excel.
Considérez un scénario dans lequel vous avez deux listes de valeurs et trois variables de chaîne. Vous devez créer un fichier Excel avec une mise en page spécifique, comme illustré dans l'image ci-dessous :
En utilisant Openpyxl, vous pouvez créer cette mise en page comme suit :
import openpyxl data = { "Display": [1, 2, 3], "Dominance": [2.34, 4.346, 4.234], "Test": [2.3, 3.2, 1.7] } workbook = openpyxl.Workbook() sheet = workbook.active # Set column widths sheet.column_dimensions["A"].width = 10 sheet.column_dimensions["B"].width = 15 # Insert headings sheet["A1"] = "Category" sheet["B1"] = "Values" # Iterate over keys and values for key, values in data.items(): sheet[f"A{sheet.max_row + 1}"] = key for i, value in enumerate(values, 2): sheet[f"B{sheet.max_row + i}"] = value workbook.save("output.xlsx")
Vous pouvez également utiliser Pandas :
import pandas as pd data = { "display": [1, 2, 3], "dominance": [2.34, 4.346, 4.234], "test": [2.3, 3.2, 1.7] } df = pd.DataFrame(data) df.to_excel("output.xlsx", index=False)
Pour formater des cellules spécifiques comme scientifiques ou numériques avec précision, vous pouvez utiliser la méthode de style dans Pandas :
df['dominance'] = df['dominance'].apply(lambda x: "%.10f" % x) df.to_excel("output.xlsx", index=False)
Cela préservera la précision totale de vos valeurs tout en les formatant comme scientifiques notation.
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!