Maison >développement back-end >Tutoriel Python >Comment écrire des données dans des feuilles de calcul Excel à l'aide de Python : Openpyxl vs Pandas ?

Comment écrire des données dans des feuilles de calcul Excel à l'aide de Python : Openpyxl vs Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 00:38:17882parcourir

Comment écrire des données dans une feuille de calcul Excel avec Python

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.

Choisir une approche

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.

Utilisation d'Openpyxl

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.

Utiliser Pandas

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.

Exemple de cas d'utilisation

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 :

How to Write Data to Excel Spreadsheets Using Python: Openpyxl vs. Pandas?

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)

Formatage Cellules

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn