Ich habe eine 14MB Excel-Datei mit fünf Arbeitsblättern , in die ich lese ein Pandas-Datenrahmen, und obwohl der folgende Code funktioniert, dauert es 9 Minuten!
Hat jemand Vorschläge zur Beschleunigung?
%Vor%Wie andere vorgeschlagen haben, ist das CSV-Lesen schneller. Also, wenn Sie auf Windows sind und Excel haben, könnten Sie ein VBScript aufrufen, um das Excel in CSV zu konvertieren und dann das CSV lesen. Ich habe das folgende Skript ausprobiert und es hat ungefähr 30 Sekunden gedauert.
%Vor%Hier ist ein kleines Python-Snippet, um das ExcelToCsv.vbs-Skript zu erstellen:
%Vor%Diese Antwort profitiert von XLS in die Befehlszeile in CSV konvertieren und csv & amp; xlsx Dateien importieren in Pandas Datenrahmen: Geschwindigkeitsproblem
Wenn Sie weniger als 65536 Zeilen (in jedem Blatt) haben, können Sie versuchen, xls
(statt xlsx
. In meiner Erfahrung xls
ist schneller als xlsx
. Es ist schwer zu vergleichen mit csv
weil es von der Anzahl der Blätter abhängt.
Obwohl dies keine ideale Lösung ist ( xls
ist ein binäres altes privatives Format), habe ich herausgefunden, dass es nützlich ist, wenn Sie zu viele Blätter , interne Formeln mit Werten haben werden oft aktualisiert , oder aus irgendeinem Grund möchten Sie wirklich behalten Sie die Excel-MultiSheet-Funktionalität .
Tags und Links python pandas import-from-excel