Schnellere Möglichkeit, Excel-Dateien in Pandas Dataframe zu lesen

8

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%     
jsignell 27.02.2015, 13:21
quelle

2 Antworten

8

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

    
Rich Signell 27.02.2015, 16:15
quelle
0

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 .

    
toto_tico 27.07.2017 12:05
quelle