Heim >Backend-Entwicklung >Python-Tutorial >Wie schreibe ich Daten mit Python in Excel-Tabellen: Openpyxl vs. Pandas?

Wie schreibe ich Daten mit Python in Excel-Tabellen: Openpyxl vs. Pandas?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 00:38:17871Durchsuche

So schreiben Sie Daten mit Python in eine Excel-Tabelle

Viele Entwickler stehen vor der Notwendigkeit, Daten aus ihren Programmen in Excel-Tabellen zu exportieren. In diesem Leitfaden werden die verschiedenen Methoden und Pakete untersucht, die in Python zur Erfüllung dieser Aufgabe verfügbar sind.

Auswahl eines Ansatzes

Berücksichtigen Sie bei der Auswahl eines Ansatzes die spezifischen Anforderungen Ihres Projekts. Zu den zu berücksichtigenden Faktoren gehören die Verfügbarkeit von Office auf den Zielcomputern sowie die Länge und Struktur Ihrer Daten.

Openpyxl verwenden

Openpyxl ist ein beliebtes Python-Paket zum Lesen und Schreiben in Excel-Tabellen. Es bietet Flexibilität und umfassende Kontrolle über die Formatierung und Gestaltung von Zellen. Beachten Sie jedoch, dass Openpyxl die Installation von Office auf dem Zielsystem erfordert, was möglicherweise nicht immer möglich ist.

Verwendung von Pandas

Für Fälle, in denen Sie Office nicht installiert haben oder Ihr Da die Daten komplex sind, erweist sich Pandas als hervorragende Option. Mit Pandas können Sie Daten in vielseitigen Datenstrukturen bearbeiten und darstellen. Indem Sie Ihre Daten in einen DataFrame konvertieren und die to_excel-Methode verwenden, können Sie sie mühelos in einer Excel-Datei speichern.

Beispielanwendungsfall

Stellen Sie sich ein Szenario vor, in dem Sie zwei und drei Wertelisten haben String-Variablen. Sie müssen eine Excel-Datei mit einem bestimmten Layout erstellen, wie im Bild unten dargestellt:

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

Mit Openpyxl können Sie dieses Layout wie folgt erstellen:

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")

Alternativ mit 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)

Zellen formatieren

Zu Wenn Sie bestimmte Zellen präzise als wissenschaftlich oder als Zahl formatieren möchten, können Sie die Stilmethode in Pandas verwenden:

df['dominance'] = df['dominance'].apply(lambda x: "%.10f" % x)
df.to_excel("output.xlsx", index=False)

Dadurch bleibt die volle Präzision Ihrer Werte erhalten, während Sie sie als wissenschaftliche Notation formatieren.

Das obige ist der detaillierte Inhalt vonWie schreibe ich Daten mit Python in Excel-Tabellen: Openpyxl vs. Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn