Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Pandas bestimmte Arbeitsblätter effizient aus einer großen Excel-Datei laden?

Wie kann ich mit Pandas bestimmte Arbeitsblätter effizient aus einer großen Excel-Datei laden?

DDD
DDDOriginal
2024-11-29 01:36:12608Durchsuche

How Can I Efficiently Load Specific Worksheets from a Large Excel File with Pandas?

Effizientes Laden bestimmter Arbeitsblätter aus einer Arbeitsmappe mit Pandas

Die Funktion pd.read_excel() von Pandas ist ein leistungsstarkes Tool zum Lesen von Excel-Arbeitsmappen. Wenn Sie jedoch mit großen Dateien arbeiten, die mehrere Arbeitsblätter enthalten, kann das Laden der gesamten Arbeitsmappe ineffizient sein, insbesondere wenn Sie nur Daten aus einigen wenigen spezifischen Blättern benötigen.

Den Ladevorgang mit pd.read_excel verstehen( )

Wenn pd.read_excel() für ein bestimmtes Arbeitsblatt verwendet wird, scheint es, dass die gesamte Arbeitsmappe in den Speicher geladen wird. Dies liegt daran, dass Pandas intern ein ExcelFile-Objekt zur Darstellung der Arbeitsmappe verwendet. Das ExcelFile-Objekt analysiert die gesamte Datei während seiner Initialisierung, unabhängig davon, welches Arbeitsblatt angegeben ist.

Effizientes Laden bestimmter Blätter

Um den Ladevorgang zu optimieren, sollten Sie die Verwendung von pd in Betracht ziehen .ExcelFile-Objekt direkt. Durch Instanziieren eines ExcelFile-Objekts mit dem Arbeitsmappenpfad können Sie auf bestimmte Arbeitsblätter zugreifen, ohne die gesamte Datei neu laden zu müssen.

Zum Beispiel:

xls = pd.ExcelFile('path_to_file.xls')
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')

Dieser Ansatz lädt die gesamte Arbeitsmappe nur einmal während der Erstellung des ExcelFile-Objekts. Nachfolgende Aufrufe von pd.read_excel() rufen Daten aus den angegebenen Arbeitsblättern ab, ohne dass der Aufwand für das erneute Laden der Datei entsteht.

Laden mehrerer Blätter

Außerdem können Sie kann eine Liste von Blattnamen oder Indizes für pd.read_excel() angeben, um mehrere Blätter gleichzeitig zu laden. Dies gibt ein Wörterbuch zurück, in dem die Schlüssel die Blattnamen oder -indizes und die Werte die entsprechenden Datenrahmen sind.

Zum Beispiel:

sheet_list = ['Sheet1', 'Sheet2']
df_dict = pd.read_excel(xls, sheet_list)

Alle Blätter werden geladen

Wenn Sie alle Arbeitsblätter in der Arbeitsmappe laden müssen, setzen Sie den Parameter sheet_name auf Keine:

df_dict = pd.read_excel(xls, sheet_name=None)

Das obige ist der detaillierte Inhalt vonWie kann ich mit Pandas bestimmte Arbeitsblätter effizient aus einer großen Excel-Datei laden?. 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