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

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

Barbara Streisand
Freigeben: 2024-11-28 21:11:14
Original
587 Leute haben es durchsucht

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

Effizientes Laden bestimmter Arbeitsblätter aus einer Excel-Datei mit Pandas

Im Zusammenhang mit der Verwendung von Pandas zur Datenverarbeitung ist es häufig erforderlich, auf bestimmte Arbeitsblätter aus einer Excel-Datei zuzugreifen . Bei Verwendung der Funktion pd.read_excel() wird jedoch zwangsläufig die gesamte Arbeitsmappe in den Speicher geladen. Dies kann beim Umgang mit großen Excel-Dateien zu Leistungsproblemen führen.

Lösung: Verwendung von pd.ExcelFile

Um diese Herausforderung zu meistern, stellt Pandas die Klasse pd.ExcelFile bereit. Mit dieser Klasse können Sie die Excel-Datei einmal laden und bei Bedarf auf einzelne Arbeitsblätter zugreifen, ohne die gesamte Datei neu laden zu müssen. So verwenden Sie es:

import pandas as pd

# Read the Excel file using pd.ExcelFile
xls = pd.ExcelFile('path_to_file.xlsx')

# Load specific worksheets
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')
Nach dem Login kopieren

Vorbehalt

Es ist wichtig zu beachten, dass die Verwendung von pd.ExcelFile zwar redundante Ladevorgänge der gesamten Arbeitsmappe vermeidet, aber dennoch das anfängliche Laden der Datei erfordert. Dies bedeutet, dass bei extrem großen Excel-Dateien die Speichernutzung immer noch erheblich sein kann.

Optionen zum Laden mehrerer Arbeitsblätter

Die Funktion pd.read_excel() bietet Optionen zum Laden mehrerer Arbeitsblätter. Sie können eine Liste von Blattnamen oder -indizes wie folgt angeben:

# Load multiple sheets as a dictionary
sheet_names = ['Sheet1', 'Sheet2']
multiple_sheets = pd.read_excel('path_to_file.xlsx', sheet_name=sheet_names)
Nach dem Login kopieren

Um alle Blätter in der Datei als Wörterbuch zu laden, verwenden Sie None als Blattname-Argument:

# Load all sheets as a dictionary
all_sheets = pd.read_excel('path_to_file.xlsx', sheet_name=None)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mit Pandas effizient nur bestimmte Arbeitsblätter aus einer großen Excel-Datei laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage