Heim >Backend-Entwicklung >Python-Tutorial >Wie schreibe ich Daten mit Python in Excel-Tabellen: Openpyxl vs. Pandas?
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.
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 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.
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.
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:
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)
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!